Constants
AutokeyAdmin_UpdateAutokeyConfig_FullMethodName, AutokeyAdmin_GetAutokeyConfig_FullMethodName, AutokeyAdmin_ShowEffectiveAutokeyConfig_FullMethodName
const (
AutokeyAdmin_UpdateAutokeyConfig_FullMethodName = "/google.cloud.kms.v1.AutokeyAdmin/UpdateAutokeyConfig"
AutokeyAdmin_GetAutokeyConfig_FullMethodName = "/google.cloud.kms.v1.AutokeyAdmin/GetAutokeyConfig"
AutokeyAdmin_ShowEffectiveAutokeyConfig_FullMethodName = "/google.cloud.kms.v1.AutokeyAdmin/ShowEffectiveAutokeyConfig"
)Autokey_CreateKeyHandle_FullMethodName, Autokey_GetKeyHandle_FullMethodName, Autokey_ListKeyHandles_FullMethodName
const (
Autokey_CreateKeyHandle_FullMethodName = "/google.cloud.kms.v1.Autokey/CreateKeyHandle"
Autokey_GetKeyHandle_FullMethodName = "/google.cloud.kms.v1.Autokey/GetKeyHandle"
Autokey_ListKeyHandles_FullMethodName = "/google.cloud.kms.v1.Autokey/ListKeyHandles"
)EkmService_ListEkmConnections_FullMethodName, EkmService_GetEkmConnection_FullMethodName, EkmService_CreateEkmConnection_FullMethodName, EkmService_UpdateEkmConnection_FullMethodName, EkmService_GetEkmConfig_FullMethodName, EkmService_UpdateEkmConfig_FullMethodName, EkmService_VerifyConnectivity_FullMethodName
const (
EkmService_ListEkmConnections_FullMethodName = "/google.cloud.kms.v1.EkmService/ListEkmConnections"
EkmService_GetEkmConnection_FullMethodName = "/google.cloud.kms.v1.EkmService/GetEkmConnection"
EkmService_CreateEkmConnection_FullMethodName = "/google.cloud.kms.v1.EkmService/CreateEkmConnection"
EkmService_UpdateEkmConnection_FullMethodName = "/google.cloud.kms.v1.EkmService/UpdateEkmConnection"
EkmService_GetEkmConfig_FullMethodName = "/google.cloud.kms.v1.EkmService/GetEkmConfig"
EkmService_UpdateEkmConfig_FullMethodName = "/google.cloud.kms.v1.EkmService/UpdateEkmConfig"
EkmService_VerifyConnectivity_FullMethodName = "/google.cloud.kms.v1.EkmService/VerifyConnectivity"
)KeyManagementService_ListKeyRings_FullMethodName, KeyManagementService_ListCryptoKeys_FullMethodName, KeyManagementService_ListCryptoKeyVersions_FullMethodName, KeyManagementService_ListImportJobs_FullMethodName, KeyManagementService_GetKeyRing_FullMethodName, KeyManagementService_GetCryptoKey_FullMethodName, KeyManagementService_GetCryptoKeyVersion_FullMethodName, KeyManagementService_GetPublicKey_FullMethodName, KeyManagementService_GetImportJob_FullMethodName, KeyManagementService_CreateKeyRing_FullMethodName, KeyManagementService_CreateCryptoKey_FullMethodName, KeyManagementService_CreateCryptoKeyVersion_FullMethodName, KeyManagementService_ImportCryptoKeyVersion_FullMethodName, KeyManagementService_CreateImportJob_FullMethodName, KeyManagementService_UpdateCryptoKey_FullMethodName, KeyManagementService_UpdateCryptoKeyVersion_FullMethodName, KeyManagementService_UpdateCryptoKeyPrimaryVersion_FullMethodName, KeyManagementService_DestroyCryptoKeyVersion_FullMethodName, KeyManagementService_RestoreCryptoKeyVersion_FullMethodName, KeyManagementService_Encrypt_FullMethodName, KeyManagementService_Decrypt_FullMethodName, KeyManagementService_RawEncrypt_FullMethodName, KeyManagementService_RawDecrypt_FullMethodName, KeyManagementService_AsymmetricSign_FullMethodName, KeyManagementService_AsymmetricDecrypt_FullMethodName, KeyManagementService_MacSign_FullMethodName, KeyManagementService_MacVerify_FullMethodName, KeyManagementService_Decapsulate_FullMethodName, KeyManagementService_GenerateRandomBytes_FullMethodName
const (
KeyManagementService_ListKeyRings_FullMethodName = "/google.cloud.kms.v1.KeyManagementService/ListKeyRings"
KeyManagementService_ListCryptoKeys_FullMethodName = "/google.cloud.kms.v1.KeyManagementService/ListCryptoKeys"
KeyManagementService_ListCryptoKeyVersions_FullMethodName = "/google.cloud.kms.v1.KeyManagementService/ListCryptoKeyVersions"
KeyManagementService_ListImportJobs_FullMethodName = "/google.cloud.kms.v1.KeyManagementService/ListImportJobs"
KeyManagementService_GetKeyRing_FullMethodName = "/google.cloud.kms.v1.KeyManagementService/GetKeyRing"
KeyManagementService_GetCryptoKey_FullMethodName = "/google.cloud.kms.v1.KeyManagementService/GetCryptoKey"
KeyManagementService_GetCryptoKeyVersion_FullMethodName = "/google.cloud.kms.v1.KeyManagementService/GetCryptoKeyVersion"
KeyManagementService_GetPublicKey_FullMethodName = "/google.cloud.kms.v1.KeyManagementService/GetPublicKey"
KeyManagementService_GetImportJob_FullMethodName = "/google.cloud.kms.v1.KeyManagementService/GetImportJob"
KeyManagementService_CreateKeyRing_FullMethodName = "/google.cloud.kms.v1.KeyManagementService/CreateKeyRing"
KeyManagementService_CreateCryptoKey_FullMethodName = "/google.cloud.kms.v1.KeyManagementService/CreateCryptoKey"
KeyManagementService_CreateCryptoKeyVersion_FullMethodName = "/google.cloud.kms.v1.KeyManagementService/CreateCryptoKeyVersion"
KeyManagementService_ImportCryptoKeyVersion_FullMethodName = "/google.cloud.kms.v1.KeyManagementService/ImportCryptoKeyVersion"
KeyManagementService_CreateImportJob_FullMethodName = "/google.cloud.kms.v1.KeyManagementService/CreateImportJob"
KeyManagementService_UpdateCryptoKey_FullMethodName = "/google.cloud.kms.v1.KeyManagementService/UpdateCryptoKey"
KeyManagementService_UpdateCryptoKeyVersion_FullMethodName = "/google.cloud.kms.v1.KeyManagementService/UpdateCryptoKeyVersion"
KeyManagementService_UpdateCryptoKeyPrimaryVersion_FullMethodName = "/google.cloud.kms.v1.KeyManagementService/UpdateCryptoKeyPrimaryVersion"
KeyManagementService_DestroyCryptoKeyVersion_FullMethodName = "/google.cloud.kms.v1.KeyManagementService/DestroyCryptoKeyVersion"
KeyManagementService_RestoreCryptoKeyVersion_FullMethodName = "/google.cloud.kms.v1.KeyManagementService/RestoreCryptoKeyVersion"
KeyManagementService_Encrypt_FullMethodName = "/google.cloud.kms.v1.KeyManagementService/Encrypt"
KeyManagementService_Decrypt_FullMethodName = "/google.cloud.kms.v1.KeyManagementService/Decrypt"
KeyManagementService_RawEncrypt_FullMethodName = "/google.cloud.kms.v1.KeyManagementService/RawEncrypt"
KeyManagementService_RawDecrypt_FullMethodName = "/google.cloud.kms.v1.KeyManagementService/RawDecrypt"
KeyManagementService_AsymmetricSign_FullMethodName = "/google.cloud.kms.v1.KeyManagementService/AsymmetricSign"
KeyManagementService_AsymmetricDecrypt_FullMethodName = "/google.cloud.kms.v1.KeyManagementService/AsymmetricDecrypt"
KeyManagementService_MacSign_FullMethodName = "/google.cloud.kms.v1.KeyManagementService/MacSign"
KeyManagementService_MacVerify_FullMethodName = "/google.cloud.kms.v1.KeyManagementService/MacVerify"
KeyManagementService_Decapsulate_FullMethodName = "/google.cloud.kms.v1.KeyManagementService/Decapsulate"
KeyManagementService_GenerateRandomBytes_FullMethodName = "/google.cloud.kms.v1.KeyManagementService/GenerateRandomBytes"
)Variables
AutokeyConfig_State_name, AutokeyConfig_State_value
var (
AutokeyConfig_State_name = map[int32]string{
0: "STATE_UNSPECIFIED",
1: "ACTIVE",
2: "KEY_PROJECT_DELETED",
3: "UNINITIALIZED",
}
AutokeyConfig_State_value = map[string]int32{
"STATE_UNSPECIFIED": 0,
"ACTIVE": 1,
"KEY_PROJECT_DELETED": 2,
"UNINITIALIZED": 3,
}
)Enum value maps for AutokeyConfig_State.
EkmConnection_KeyManagementMode_name, EkmConnection_KeyManagementMode_value
var (
EkmConnection_KeyManagementMode_name = map[int32]string{
0: "KEY_MANAGEMENT_MODE_UNSPECIFIED",
1: "MANUAL",
2: "CLOUD_KMS",
}
EkmConnection_KeyManagementMode_value = map[string]int32{
"KEY_MANAGEMENT_MODE_UNSPECIFIED": 0,
"MANUAL": 1,
"CLOUD_KMS": 2,
}
)Enum value maps for EkmConnection_KeyManagementMode.
ProtectionLevel_name, ProtectionLevel_value
var (
ProtectionLevel_name = map[int32]string{
0: "PROTECTION_LEVEL_UNSPECIFIED",
1: "SOFTWARE",
2: "HSM",
3: "EXTERNAL",
4: "EXTERNAL_VPC",
}
ProtectionLevel_value = map[string]int32{
"PROTECTION_LEVEL_UNSPECIFIED": 0,
"SOFTWARE": 1,
"HSM": 2,
"EXTERNAL": 3,
"EXTERNAL_VPC": 4,
}
)Enum value maps for ProtectionLevel.
AccessReason_name, AccessReason_value
var (
AccessReason_name = map[int32]string{
0: "REASON_UNSPECIFIED",
1: "CUSTOMER_INITIATED_SUPPORT",
2: "GOOGLE_INITIATED_SERVICE",
3: "THIRD_PARTY_DATA_REQUEST",
4: "GOOGLE_INITIATED_REVIEW",
5: "CUSTOMER_INITIATED_ACCESS",
6: "GOOGLE_INITIATED_SYSTEM_OPERATION",
7: "REASON_NOT_EXPECTED",
8: "MODIFIED_CUSTOMER_INITIATED_ACCESS",
9: "MODIFIED_GOOGLE_INITIATED_SYSTEM_OPERATION",
10: "GOOGLE_RESPONSE_TO_PRODUCTION_ALERT",
11: "CUSTOMER_AUTHORIZED_WORKFLOW_SERVICING",
}
AccessReason_value = map[string]int32{
"REASON_UNSPECIFIED": 0,
"CUSTOMER_INITIATED_SUPPORT": 1,
"GOOGLE_INITIATED_SERVICE": 2,
"THIRD_PARTY_DATA_REQUEST": 3,
"GOOGLE_INITIATED_REVIEW": 4,
"CUSTOMER_INITIATED_ACCESS": 5,
"GOOGLE_INITIATED_SYSTEM_OPERATION": 6,
"REASON_NOT_EXPECTED": 7,
"MODIFIED_CUSTOMER_INITIATED_ACCESS": 8,
"MODIFIED_GOOGLE_INITIATED_SYSTEM_OPERATION": 9,
"GOOGLE_RESPONSE_TO_PRODUCTION_ALERT": 10,
"CUSTOMER_AUTHORIZED_WORKFLOW_SERVICING": 11,
}
)Enum value maps for AccessReason.
CryptoKey_CryptoKeyPurpose_name, CryptoKey_CryptoKeyPurpose_value
var (
CryptoKey_CryptoKeyPurpose_name = map[int32]string{
0: "CRYPTO_KEY_PURPOSE_UNSPECIFIED",
1: "ENCRYPT_DECRYPT",
5: "ASYMMETRIC_SIGN",
6: "ASYMMETRIC_DECRYPT",
7: "RAW_ENCRYPT_DECRYPT",
9: "MAC",
10: "KEY_ENCAPSULATION",
}
CryptoKey_CryptoKeyPurpose_value = map[string]int32{
"CRYPTO_KEY_PURPOSE_UNSPECIFIED": 0,
"ENCRYPT_DECRYPT": 1,
"ASYMMETRIC_SIGN": 5,
"ASYMMETRIC_DECRYPT": 6,
"RAW_ENCRYPT_DECRYPT": 7,
"MAC": 9,
"KEY_ENCAPSULATION": 10,
}
)Enum value maps for CryptoKey_CryptoKeyPurpose.
KeyOperationAttestation_AttestationFormat_name, KeyOperationAttestation_AttestationFormat_value
var (
KeyOperationAttestation_AttestationFormat_name = map[int32]string{
0: "ATTESTATION_FORMAT_UNSPECIFIED",
3: "CAVIUM_V1_COMPRESSED",
4: "CAVIUM_V2_COMPRESSED",
}
KeyOperationAttestation_AttestationFormat_value = map[string]int32{
"ATTESTATION_FORMAT_UNSPECIFIED": 0,
"CAVIUM_V1_COMPRESSED": 3,
"CAVIUM_V2_COMPRESSED": 4,
}
)Enum value maps for KeyOperationAttestation_AttestationFormat.
CryptoKeyVersion_CryptoKeyVersionAlgorithm_name, CryptoKeyVersion_CryptoKeyVersionAlgorithm_value
var (
CryptoKeyVersion_CryptoKeyVersionAlgorithm_name = map[int32]string{
0: "CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED",
1: "GOOGLE_SYMMETRIC_ENCRYPTION",
41: "AES_128_GCM",
19: "AES_256_GCM",
42: "AES_128_CBC",
43: "AES_256_CBC",
44: "AES_128_CTR",
45: "AES_256_CTR",
2: "RSA_SIGN_PSS_2048_SHA256",
3: "RSA_SIGN_PSS_3072_SHA256",
4: "RSA_SIGN_PSS_4096_SHA256",
15: "RSA_SIGN_PSS_4096_SHA512",
5: "RSA_SIGN_PKCS1_2048_SHA256",
6: "RSA_SIGN_PKCS1_3072_SHA256",
7: "RSA_SIGN_PKCS1_4096_SHA256",
16: "RSA_SIGN_PKCS1_4096_SHA512",
28: "RSA_SIGN_RAW_PKCS1_2048",
29: "RSA_SIGN_RAW_PKCS1_3072",
30: "RSA_SIGN_RAW_PKCS1_4096",
8: "RSA_DECRYPT_OAEP_2048_SHA256",
9: "RSA_DECRYPT_OAEP_3072_SHA256",
10: "RSA_DECRYPT_OAEP_4096_SHA256",
17: "RSA_DECRYPT_OAEP_4096_SHA512",
37: "RSA_DECRYPT_OAEP_2048_SHA1",
38: "RSA_DECRYPT_OAEP_3072_SHA1",
39: "RSA_DECRYPT_OAEP_4096_SHA1",
12: "EC_SIGN_P256_SHA256",
13: "EC_SIGN_P384_SHA384",
31: "EC_SIGN_SECP256K1_SHA256",
40: "EC_SIGN_ED25519",
32: "HMAC_SHA256",
33: "HMAC_SHA1",
34: "HMAC_SHA384",
35: "HMAC_SHA512",
36: "HMAC_SHA224",
18: "EXTERNAL_SYMMETRIC_ENCRYPTION",
47: "ML_KEM_768",
48: "ML_KEM_1024",
63: "KEM_XWING",
56: "PQ_SIGN_ML_DSA_65",
57: "PQ_SIGN_SLH_DSA_SHA2_128S",
}
CryptoKeyVersion_CryptoKeyVersionAlgorithm_value = map[string]int32{
"CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED": 0,
"GOOGLE_SYMMETRIC_ENCRYPTION": 1,
"AES_128_GCM": 41,
"AES_256_GCM": 19,
"AES_128_CBC": 42,
"AES_256_CBC": 43,
"AES_128_CTR": 44,
"AES_256_CTR": 45,
"RSA_SIGN_PSS_2048_SHA256": 2,
"RSA_SIGN_PSS_3072_SHA256": 3,
"RSA_SIGN_PSS_4096_SHA256": 4,
"RSA_SIGN_PSS_4096_SHA512": 15,
"RSA_SIGN_PKCS1_2048_SHA256": 5,
"RSA_SIGN_PKCS1_3072_SHA256": 6,
"RSA_SIGN_PKCS1_4096_SHA256": 7,
"RSA_SIGN_PKCS1_4096_SHA512": 16,
"RSA_SIGN_RAW_PKCS1_2048": 28,
"RSA_SIGN_RAW_PKCS1_3072": 29,
"RSA_SIGN_RAW_PKCS1_4096": 30,
"RSA_DECRYPT_OAEP_2048_SHA256": 8,
"RSA_DECRYPT_OAEP_3072_SHA256": 9,
"RSA_DECRYPT_OAEP_4096_SHA256": 10,
"RSA_DECRYPT_OAEP_4096_SHA512": 17,
"RSA_DECRYPT_OAEP_2048_SHA1": 37,
"RSA_DECRYPT_OAEP_3072_SHA1": 38,
"RSA_DECRYPT_OAEP_4096_SHA1": 39,
"EC_SIGN_P256_SHA256": 12,
"EC_SIGN_P384_SHA384": 13,
"EC_SIGN_SECP256K1_SHA256": 31,
"EC_SIGN_ED25519": 40,
"HMAC_SHA256": 32,
"HMAC_SHA1": 33,
"HMAC_SHA384": 34,
"HMAC_SHA512": 35,
"HMAC_SHA224": 36,
"EXTERNAL_SYMMETRIC_ENCRYPTION": 18,
"ML_KEM_768": 47,
"ML_KEM_1024": 48,
"KEM_XWING": 63,
"PQ_SIGN_ML_DSA_65": 56,
"PQ_SIGN_SLH_DSA_SHA2_128S": 57,
}
)Enum value maps for CryptoKeyVersion_CryptoKeyVersionAlgorithm.
CryptoKeyVersion_CryptoKeyVersionState_name, CryptoKeyVersion_CryptoKeyVersionState_value
var (
CryptoKeyVersion_CryptoKeyVersionState_name = map[int32]string{
0: "CRYPTO_KEY_VERSION_STATE_UNSPECIFIED",
5: "PENDING_GENERATION",
1: "ENABLED",
2: "DISABLED",
3: "DESTROYED",
4: "DESTROY_SCHEDULED",
6: "PENDING_IMPORT",
7: "IMPORT_FAILED",
8: "GENERATION_FAILED",
9: "PENDING_EXTERNAL_DESTRUCTION",
10: "EXTERNAL_DESTRUCTION_FAILED",
}
CryptoKeyVersion_CryptoKeyVersionState_value = map[string]int32{
"CRYPTO_KEY_VERSION_STATE_UNSPECIFIED": 0,
"PENDING_GENERATION": 5,
"ENABLED": 1,
"DISABLED": 2,
"DESTROYED": 3,
"DESTROY_SCHEDULED": 4,
"PENDING_IMPORT": 6,
"IMPORT_FAILED": 7,
"GENERATION_FAILED": 8,
"PENDING_EXTERNAL_DESTRUCTION": 9,
"EXTERNAL_DESTRUCTION_FAILED": 10,
}
)Enum value maps for CryptoKeyVersion_CryptoKeyVersionState.
CryptoKeyVersion_CryptoKeyVersionView_name, CryptoKeyVersion_CryptoKeyVersionView_value
var (
CryptoKeyVersion_CryptoKeyVersionView_name = map[int32]string{
0: "CRYPTO_KEY_VERSION_VIEW_UNSPECIFIED",
1: "FULL",
}
CryptoKeyVersion_CryptoKeyVersionView_value = map[string]int32{
"CRYPTO_KEY_VERSION_VIEW_UNSPECIFIED": 0,
"FULL": 1,
}
)Enum value maps for CryptoKeyVersion_CryptoKeyVersionView.
PublicKey_PublicKeyFormat_name, PublicKey_PublicKeyFormat_value
var (
PublicKey_PublicKeyFormat_name = map[int32]string{
0: "PUBLIC_KEY_FORMAT_UNSPECIFIED",
1: "PEM",
2: "DER",
3: "NIST_PQC",
4: "XWING_RAW_BYTES",
}
PublicKey_PublicKeyFormat_value = map[string]int32{
"PUBLIC_KEY_FORMAT_UNSPECIFIED": 0,
"PEM": 1,
"DER": 2,
"NIST_PQC": 3,
"XWING_RAW_BYTES": 4,
}
)Enum value maps for PublicKey_PublicKeyFormat.
ImportJob_ImportMethod_name, ImportJob_ImportMethod_value
var (
ImportJob_ImportMethod_name = map[int32]string{
0: "IMPORT_METHOD_UNSPECIFIED",
1: "RSA_OAEP_3072_SHA1_AES_256",
2: "RSA_OAEP_4096_SHA1_AES_256",
3: "RSA_OAEP_3072_SHA256_AES_256",
4: "RSA_OAEP_4096_SHA256_AES_256",
5: "RSA_OAEP_3072_SHA256",
6: "RSA_OAEP_4096_SHA256",
}
ImportJob_ImportMethod_value = map[string]int32{
"IMPORT_METHOD_UNSPECIFIED": 0,
"RSA_OAEP_3072_SHA1_AES_256": 1,
"RSA_OAEP_4096_SHA1_AES_256": 2,
"RSA_OAEP_3072_SHA256_AES_256": 3,
"RSA_OAEP_4096_SHA256_AES_256": 4,
"RSA_OAEP_3072_SHA256": 5,
"RSA_OAEP_4096_SHA256": 6,
}
)Enum value maps for ImportJob_ImportMethod.
ImportJob_ImportJobState_name, ImportJob_ImportJobState_value
var (
ImportJob_ImportJobState_name = map[int32]string{
0: "IMPORT_JOB_STATE_UNSPECIFIED",
1: "PENDING_GENERATION",
2: "ACTIVE",
3: "EXPIRED",
}
ImportJob_ImportJobState_value = map[string]int32{
"IMPORT_JOB_STATE_UNSPECIFIED": 0,
"PENDING_GENERATION": 1,
"ACTIVE": 2,
"EXPIRED": 3,
}
)Enum value maps for ImportJob_ImportJobState.
AutokeyAdmin_ServiceDesc
var AutokeyAdmin_ServiceDesc = grpc.ServiceDesc{
ServiceName: "google.cloud.kms.v1.AutokeyAdmin",
HandlerType: (*AutokeyAdminServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "UpdateAutokeyConfig",
Handler: _AutokeyAdmin_UpdateAutokeyConfig_Handler,
},
{
MethodName: "GetAutokeyConfig",
Handler: _AutokeyAdmin_GetAutokeyConfig_Handler,
},
{
MethodName: "ShowEffectiveAutokeyConfig",
Handler: _AutokeyAdmin_ShowEffectiveAutokeyConfig_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "google/cloud/kms/v1/autokey_admin.proto",
}AutokeyAdmin_ServiceDesc is the grpc.ServiceDesc for AutokeyAdmin service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
Autokey_ServiceDesc
var Autokey_ServiceDesc = grpc.ServiceDesc{
ServiceName: "google.cloud.kms.v1.Autokey",
HandlerType: (*AutokeyServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "CreateKeyHandle",
Handler: _Autokey_CreateKeyHandle_Handler,
},
{
MethodName: "GetKeyHandle",
Handler: _Autokey_GetKeyHandle_Handler,
},
{
MethodName: "ListKeyHandles",
Handler: _Autokey_ListKeyHandles_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "google/cloud/kms/v1/autokey.proto",
}Autokey_ServiceDesc is the grpc.ServiceDesc for Autokey service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
EkmService_ServiceDesc
var EkmService_ServiceDesc = grpc.ServiceDesc{
ServiceName: "google.cloud.kms.v1.EkmService",
HandlerType: (*EkmServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "ListEkmConnections",
Handler: _EkmService_ListEkmConnections_Handler,
},
{
MethodName: "GetEkmConnection",
Handler: _EkmService_GetEkmConnection_Handler,
},
{
MethodName: "CreateEkmConnection",
Handler: _EkmService_CreateEkmConnection_Handler,
},
{
MethodName: "UpdateEkmConnection",
Handler: _EkmService_UpdateEkmConnection_Handler,
},
{
MethodName: "GetEkmConfig",
Handler: _EkmService_GetEkmConfig_Handler,
},
{
MethodName: "UpdateEkmConfig",
Handler: _EkmService_UpdateEkmConfig_Handler,
},
{
MethodName: "VerifyConnectivity",
Handler: _EkmService_VerifyConnectivity_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "google/cloud/kms/v1/ekm_service.proto",
}EkmService_ServiceDesc is the grpc.ServiceDesc for EkmService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
File_google_cloud_kms_v1_autokey_admin_proto
var File_google_cloud_kms_v1_autokey_admin_proto protoreflect.FileDescriptorFile_google_cloud_kms_v1_autokey_proto
var File_google_cloud_kms_v1_autokey_proto protoreflect.FileDescriptorFile_google_cloud_kms_v1_ekm_service_proto
var File_google_cloud_kms_v1_ekm_service_proto protoreflect.FileDescriptorFile_google_cloud_kms_v1_resources_proto
var File_google_cloud_kms_v1_resources_proto protoreflect.FileDescriptorFile_google_cloud_kms_v1_service_proto
var File_google_cloud_kms_v1_service_proto protoreflect.FileDescriptorKeyManagementService_ServiceDesc
var KeyManagementService_ServiceDesc = grpc.ServiceDesc{
ServiceName: "google.cloud.kms.v1.KeyManagementService",
HandlerType: (*KeyManagementServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "ListKeyRings",
Handler: _KeyManagementService_ListKeyRings_Handler,
},
{
MethodName: "ListCryptoKeys",
Handler: _KeyManagementService_ListCryptoKeys_Handler,
},
{
MethodName: "ListCryptoKeyVersions",
Handler: _KeyManagementService_ListCryptoKeyVersions_Handler,
},
{
MethodName: "ListImportJobs",
Handler: _KeyManagementService_ListImportJobs_Handler,
},
{
MethodName: "GetKeyRing",
Handler: _KeyManagementService_GetKeyRing_Handler,
},
{
MethodName: "GetCryptoKey",
Handler: _KeyManagementService_GetCryptoKey_Handler,
},
{
MethodName: "GetCryptoKeyVersion",
Handler: _KeyManagementService_GetCryptoKeyVersion_Handler,
},
{
MethodName: "GetPublicKey",
Handler: _KeyManagementService_GetPublicKey_Handler,
},
{
MethodName: "GetImportJob",
Handler: _KeyManagementService_GetImportJob_Handler,
},
{
MethodName: "CreateKeyRing",
Handler: _KeyManagementService_CreateKeyRing_Handler,
},
{
MethodName: "CreateCryptoKey",
Handler: _KeyManagementService_CreateCryptoKey_Handler,
},
{
MethodName: "CreateCryptoKeyVersion",
Handler: _KeyManagementService_CreateCryptoKeyVersion_Handler,
},
{
MethodName: "ImportCryptoKeyVersion",
Handler: _KeyManagementService_ImportCryptoKeyVersion_Handler,
},
{
MethodName: "CreateImportJob",
Handler: _KeyManagementService_CreateImportJob_Handler,
},
{
MethodName: "UpdateCryptoKey",
Handler: _KeyManagementService_UpdateCryptoKey_Handler,
},
{
MethodName: "UpdateCryptoKeyVersion",
Handler: _KeyManagementService_UpdateCryptoKeyVersion_Handler,
},
{
MethodName: "UpdateCryptoKeyPrimaryVersion",
Handler: _KeyManagementService_UpdateCryptoKeyPrimaryVersion_Handler,
},
{
MethodName: "DestroyCryptoKeyVersion",
Handler: _KeyManagementService_DestroyCryptoKeyVersion_Handler,
},
{
MethodName: "RestoreCryptoKeyVersion",
Handler: _KeyManagementService_RestoreCryptoKeyVersion_Handler,
},
{
MethodName: "Encrypt",
Handler: _KeyManagementService_Encrypt_Handler,
},
{
MethodName: "Decrypt",
Handler: _KeyManagementService_Decrypt_Handler,
},
{
MethodName: "RawEncrypt",
Handler: _KeyManagementService_RawEncrypt_Handler,
},
{
MethodName: "RawDecrypt",
Handler: _KeyManagementService_RawDecrypt_Handler,
},
{
MethodName: "AsymmetricSign",
Handler: _KeyManagementService_AsymmetricSign_Handler,
},
{
MethodName: "AsymmetricDecrypt",
Handler: _KeyManagementService_AsymmetricDecrypt_Handler,
},
{
MethodName: "MacSign",
Handler: _KeyManagementService_MacSign_Handler,
},
{
MethodName: "MacVerify",
Handler: _KeyManagementService_MacVerify_Handler,
},
{
MethodName: "Decapsulate",
Handler: _KeyManagementService_Decapsulate_Handler,
},
{
MethodName: "GenerateRandomBytes",
Handler: _KeyManagementService_GenerateRandomBytes_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "google/cloud/kms/v1/service.proto",
}KeyManagementService_ServiceDesc is the grpc.ServiceDesc for KeyManagementService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
Functions
func RegisterAutokeyAdminServer
func RegisterAutokeyAdminServer(s grpc.ServiceRegistrar, srv AutokeyAdminServer)func RegisterAutokeyServer
func RegisterAutokeyServer(s grpc.ServiceRegistrar, srv AutokeyServer)func RegisterEkmServiceServer
func RegisterEkmServiceServer(s grpc.ServiceRegistrar, srv EkmServiceServer)func RegisterKeyManagementServiceServer
func RegisterKeyManagementServiceServer(s grpc.ServiceRegistrar, srv KeyManagementServiceServer)AccessReason
type AccessReason int32Describes the reason for a data access. Please refer to https://cloud.google.com/assured-workloads/key-access-justifications/docs/justification-codes for the detailed semantic meaning of justification reason codes.
AccessReason_REASON_UNSPECIFIED, AccessReason_CUSTOMER_INITIATED_SUPPORT, AccessReason_GOOGLE_INITIATED_SERVICE, AccessReason_THIRD_PARTY_DATA_REQUEST, AccessReason_GOOGLE_INITIATED_REVIEW, AccessReason_CUSTOMER_INITIATED_ACCESS, AccessReason_GOOGLE_INITIATED_SYSTEM_OPERATION, AccessReason_REASON_NOT_EXPECTED, AccessReason_MODIFIED_CUSTOMER_INITIATED_ACCESS, AccessReason_MODIFIED_GOOGLE_INITIATED_SYSTEM_OPERATION, AccessReason_GOOGLE_RESPONSE_TO_PRODUCTION_ALERT, AccessReason_CUSTOMER_AUTHORIZED_WORKFLOW_SERVICING
const (
// Unspecified access reason.
AccessReason_REASON_UNSPECIFIED AccessReason = 0
// Customer-initiated support.
AccessReason_CUSTOMER_INITIATED_SUPPORT AccessReason = 1
// Google-initiated access for system management and troubleshooting.
AccessReason_GOOGLE_INITIATED_SERVICE AccessReason = 2
// Google-initiated access in response to a legal request or legal process.
AccessReason_THIRD_PARTY_DATA_REQUEST AccessReason = 3
// Google-initiated access for security, fraud, abuse, or compliance purposes.
AccessReason_GOOGLE_INITIATED_REVIEW AccessReason = 4
// Customer uses their account to perform any access to their own data which
// their IAM policy authorizes.
AccessReason_CUSTOMER_INITIATED_ACCESS AccessReason = 5
// Google systems access customer data to help optimize the structure of the
// data or quality for future uses by the customer.
AccessReason_GOOGLE_INITIATED_SYSTEM_OPERATION AccessReason = 6
// No reason is expected for this key request.
AccessReason_REASON_NOT_EXPECTED AccessReason = 7
// Customer uses their account to perform any access to their own data which
// their IAM policy authorizes, and one of the following is true:
//
// - A Google administrator has reset the root-access account associated with
// the user's organization within the past 7 days.
// - A Google-initiated emergency access operation has interacted with a
// resource in the same project or folder as the currently accessed resource
// within the past 7 days.
AccessReason_MODIFIED_CUSTOMER_INITIATED_ACCESS AccessReason = 8
// Google systems access customer data to help optimize the structure of the
// data or quality for future uses by the customer, and one of the following
// is true:
//
// - A Google administrator has reset the root-access account associated with
// the user's organization within the past 7 days.
// - A Google-initiated emergency access operation has interacted with a
// resource in the same project or folder as the currently accessed resource
// within the past 7 days.
AccessReason_MODIFIED_GOOGLE_INITIATED_SYSTEM_OPERATION AccessReason = 9
// Google-initiated access to maintain system reliability.
AccessReason_GOOGLE_RESPONSE_TO_PRODUCTION_ALERT AccessReason = 10
// One of the following operations is being executed while simultaneously
// encountering an internal technical issue which prevented a more precise
// justification code from being generated:
//
// - Your account has been used to perform any access to your own data which
// your IAM policy authorizes.
// - An automated Google system operates on encrypted customer data which your
// IAM policy authorizes.
// - Customer-initiated Google support access.
// - Google-initiated support access to protect system reliability.
AccessReason_CUSTOMER_AUTHORIZED_WORKFLOW_SERVICING AccessReason = 11
)func (AccessReason) Descriptor
func (AccessReason) Descriptor() protoreflect.EnumDescriptorfunc (AccessReason) Enum
func (x AccessReason) Enum() *AccessReasonfunc (AccessReason) EnumDescriptor
func (AccessReason) EnumDescriptor() ([]byte, []int)Deprecated: Use AccessReason.Descriptor instead.
func (AccessReason) Number
func (x AccessReason) Number() protoreflect.EnumNumberfunc (AccessReason) String
func (x AccessReason) String() stringfunc (AccessReason) Type
func (AccessReason) Type() protoreflect.EnumTypeAsymmetricDecryptRequest
type AsymmetricDecryptRequest struct {
// Required. The resource name of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for
// decryption.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Required. The data encrypted with the named
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s public key using
// OAEP.
Ciphertext []byte `protobuf:"bytes,3,opt,name=ciphertext,proto3" json:"ciphertext,omitempty"`
// Optional. An optional CRC32C checksum of the
// [AsymmetricDecryptRequest.ciphertext][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext].
// If specified,
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will
// verify the integrity of the received
// [AsymmetricDecryptRequest.ciphertext][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext]
// using this checksum.
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will
// report an error if the checksum verification fails. If you receive a
// checksum error, your client should verify that
// CRC32C([AsymmetricDecryptRequest.ciphertext][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext])
// is equal to
// [AsymmetricDecryptRequest.ciphertext_crc32c][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext_crc32c],
// and if so, perform a limited number of retries. A persistent mismatch may
// indicate an issue in your computation of the CRC32C checksum. Note: This
// field is defined as int64 for reasons of compatibility across different
// languages. However, it is a non-negative integer, which will never exceed
// 2^32-1, and can be safely downconverted to uint32 in languages that support
// this type.
CiphertextCrc32C *wrapperspb.Int64Value `protobuf:"bytes,4,opt,name=ciphertext_crc32c,json=ciphertextCrc32c,proto3" json:"ciphertext_crc32c,omitempty"`
// contains filtered or unexported fields
}Request message for [KeyManagementService.AsymmetricDecrypt][google.cloud.kms.v1.KeyManagementService.AsymmetricDecrypt].
func (*AsymmetricDecryptRequest) Descriptor
func (*AsymmetricDecryptRequest) Descriptor() ([]byte, []int)Deprecated: Use AsymmetricDecryptRequest.ProtoReflect.Descriptor instead.
func (*AsymmetricDecryptRequest) GetCiphertext
func (x *AsymmetricDecryptRequest) GetCiphertext() []bytefunc (*AsymmetricDecryptRequest) GetCiphertextCrc32C
func (x *AsymmetricDecryptRequest) GetCiphertextCrc32C() *wrapperspb.Int64Valuefunc (*AsymmetricDecryptRequest) GetName
func (x *AsymmetricDecryptRequest) GetName() stringfunc (*AsymmetricDecryptRequest) ProtoMessage
func (*AsymmetricDecryptRequest) ProtoMessage()func (*AsymmetricDecryptRequest) ProtoReflect
func (x *AsymmetricDecryptRequest) ProtoReflect() protoreflect.Messagefunc (*AsymmetricDecryptRequest) Reset
func (x *AsymmetricDecryptRequest) Reset()func (*AsymmetricDecryptRequest) String
func (x *AsymmetricDecryptRequest) String() stringAsymmetricDecryptResponse
type AsymmetricDecryptResponse struct {
// The decrypted data originally encrypted with the matching public key.
Plaintext []byte `protobuf:"bytes,1,opt,name=plaintext,proto3" json:"plaintext,omitempty"`
// Integrity verification field. A CRC32C checksum of the returned
// [AsymmetricDecryptResponse.plaintext][google.cloud.kms.v1.AsymmetricDecryptResponse.plaintext].
// An integrity check of
// [AsymmetricDecryptResponse.plaintext][google.cloud.kms.v1.AsymmetricDecryptResponse.plaintext]
// can be performed by computing the CRC32C checksum of
// [AsymmetricDecryptResponse.plaintext][google.cloud.kms.v1.AsymmetricDecryptResponse.plaintext]
// and comparing your results to this field. Discard the response in case of
// non-matching checksum values, and perform a limited number of retries. A
// persistent mismatch may indicate an issue in your computation of the CRC32C
// checksum. Note: This field is defined as int64 for reasons of compatibility
// across different languages. However, it is a non-negative integer, which
// will never exceed 2^32-1, and can be safely downconverted to uint32 in
// languages that support this type.
PlaintextCrc32C *wrapperspb.Int64Value `protobuf:"bytes,2,opt,name=plaintext_crc32c,json=plaintextCrc32c,proto3" json:"plaintext_crc32c,omitempty"`
// Integrity verification field. A flag indicating whether
// [AsymmetricDecryptRequest.ciphertext_crc32c][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext_crc32c]
// was received by
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used
// for the integrity verification of the
// [ciphertext][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext]. A
// false value of this field indicates either that
// [AsymmetricDecryptRequest.ciphertext_crc32c][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext_crc32c]
// was left unset or that it was not delivered to
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've
// set
// [AsymmetricDecryptRequest.ciphertext_crc32c][google.cloud.kms.v1.AsymmetricDecryptRequest.ciphertext_crc32c]
// but this field is still false, discard the response and perform a limited
// number of retries.
VerifiedCiphertextCrc32C bool `protobuf:"varint,3,opt,name=verified_ciphertext_crc32c,json=verifiedCiphertextCrc32c,proto3" json:"verified_ciphertext_crc32c,omitempty"`
// The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used in
// decryption.
ProtectionLevel ProtectionLevel `protobuf:"varint,4,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"`
// contains filtered or unexported fields
}Response message for [KeyManagementService.AsymmetricDecrypt][google.cloud.kms.v1.KeyManagementService.AsymmetricDecrypt].
func (*AsymmetricDecryptResponse) Descriptor
func (*AsymmetricDecryptResponse) Descriptor() ([]byte, []int)Deprecated: Use AsymmetricDecryptResponse.ProtoReflect.Descriptor instead.
func (*AsymmetricDecryptResponse) GetPlaintext
func (x *AsymmetricDecryptResponse) GetPlaintext() []bytefunc (*AsymmetricDecryptResponse) GetPlaintextCrc32C
func (x *AsymmetricDecryptResponse) GetPlaintextCrc32C() *wrapperspb.Int64Valuefunc (*AsymmetricDecryptResponse) GetProtectionLevel
func (x *AsymmetricDecryptResponse) GetProtectionLevel() ProtectionLevelfunc (*AsymmetricDecryptResponse) GetVerifiedCiphertextCrc32C
func (x *AsymmetricDecryptResponse) GetVerifiedCiphertextCrc32C() boolfunc (*AsymmetricDecryptResponse) ProtoMessage
func (*AsymmetricDecryptResponse) ProtoMessage()func (*AsymmetricDecryptResponse) ProtoReflect
func (x *AsymmetricDecryptResponse) ProtoReflect() protoreflect.Messagefunc (*AsymmetricDecryptResponse) Reset
func (x *AsymmetricDecryptResponse) Reset()func (*AsymmetricDecryptResponse) String
func (x *AsymmetricDecryptResponse) String() stringAsymmetricSignRequest
type AsymmetricSignRequest struct {
// Required. The resource name of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for
// signing.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Optional. The digest of the data to sign. The digest must be produced with
// the same digest algorithm as specified by the key version's
// [algorithm][google.cloud.kms.v1.CryptoKeyVersion.algorithm].
//
// This field may not be supplied if
// [AsymmetricSignRequest.data][google.cloud.kms.v1.AsymmetricSignRequest.data]
// is supplied.
Digest *Digest `protobuf:"bytes,3,opt,name=digest,proto3" json:"digest,omitempty"`
// Optional. An optional CRC32C checksum of the
// [AsymmetricSignRequest.digest][google.cloud.kms.v1.AsymmetricSignRequest.digest].
// If specified,
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will
// verify the integrity of the received
// [AsymmetricSignRequest.digest][google.cloud.kms.v1.AsymmetricSignRequest.digest]
// using this checksum.
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will
// report an error if the checksum verification fails. If you receive a
// checksum error, your client should verify that
// CRC32C([AsymmetricSignRequest.digest][google.cloud.kms.v1.AsymmetricSignRequest.digest])
// is equal to
// [AsymmetricSignRequest.digest_crc32c][google.cloud.kms.v1.AsymmetricSignRequest.digest_crc32c],
// and if so, perform a limited number of retries. A persistent mismatch may
// indicate an issue in your computation of the CRC32C checksum. Note: This
// field is defined as int64 for reasons of compatibility across different
// languages. However, it is a non-negative integer, which will never exceed
// 2^32-1, and can be safely downconverted to uint32 in languages that support
// this type.
DigestCrc32C *wrapperspb.Int64Value `protobuf:"bytes,4,opt,name=digest_crc32c,json=digestCrc32c,proto3" json:"digest_crc32c,omitempty"`
// Optional. The data to sign.
// It can't be supplied if
// [AsymmetricSignRequest.digest][google.cloud.kms.v1.AsymmetricSignRequest.digest]
// is supplied.
Data []byte `protobuf:"bytes,6,opt,name=data,proto3" json:"data,omitempty"`
// Optional. An optional CRC32C checksum of the
// [AsymmetricSignRequest.data][google.cloud.kms.v1.AsymmetricSignRequest.data].
// If specified,
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will
// verify the integrity of the received
// [AsymmetricSignRequest.data][google.cloud.kms.v1.AsymmetricSignRequest.data]
// using this checksum.
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will
// report an error if the checksum verification fails. If you receive a
// checksum error, your client should verify that
// CRC32C([AsymmetricSignRequest.data][google.cloud.kms.v1.AsymmetricSignRequest.data])
// is equal to
// [AsymmetricSignRequest.data_crc32c][google.cloud.kms.v1.AsymmetricSignRequest.data_crc32c],
// and if so, perform a limited number of retries. A persistent mismatch may
// indicate an issue in your computation of the CRC32C checksum. Note: This
// field is defined as int64 for reasons of compatibility across different
// languages. However, it is a non-negative integer, which will never exceed
// 2^32-1, and can be safely downconverted to uint32 in languages that support
// this type.
DataCrc32C *wrapperspb.Int64Value `protobuf:"bytes,7,opt,name=data_crc32c,json=dataCrc32c,proto3" json:"data_crc32c,omitempty"`
// contains filtered or unexported fields
}Request message for [KeyManagementService.AsymmetricSign][google.cloud.kms.v1.KeyManagementService.AsymmetricSign].
func (*AsymmetricSignRequest) Descriptor
func (*AsymmetricSignRequest) Descriptor() ([]byte, []int)Deprecated: Use AsymmetricSignRequest.ProtoReflect.Descriptor instead.
func (*AsymmetricSignRequest) GetData
func (x *AsymmetricSignRequest) GetData() []bytefunc (*AsymmetricSignRequest) GetDataCrc32C
func (x *AsymmetricSignRequest) GetDataCrc32C() *wrapperspb.Int64Valuefunc (*AsymmetricSignRequest) GetDigest
func (x *AsymmetricSignRequest) GetDigest() *Digestfunc (*AsymmetricSignRequest) GetDigestCrc32C
func (x *AsymmetricSignRequest) GetDigestCrc32C() *wrapperspb.Int64Valuefunc (*AsymmetricSignRequest) GetName
func (x *AsymmetricSignRequest) GetName() stringfunc (*AsymmetricSignRequest) ProtoMessage
func (*AsymmetricSignRequest) ProtoMessage()func (*AsymmetricSignRequest) ProtoReflect
func (x *AsymmetricSignRequest) ProtoReflect() protoreflect.Messagefunc (*AsymmetricSignRequest) Reset
func (x *AsymmetricSignRequest) Reset()func (*AsymmetricSignRequest) String
func (x *AsymmetricSignRequest) String() stringAsymmetricSignResponse
type AsymmetricSignResponse struct {
// The created signature.
Signature []byte `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"`
// Integrity verification field. A CRC32C checksum of the returned
// [AsymmetricSignResponse.signature][google.cloud.kms.v1.AsymmetricSignResponse.signature].
// An integrity check of
// [AsymmetricSignResponse.signature][google.cloud.kms.v1.AsymmetricSignResponse.signature]
// can be performed by computing the CRC32C checksum of
// [AsymmetricSignResponse.signature][google.cloud.kms.v1.AsymmetricSignResponse.signature]
// and comparing your results to this field. Discard the response in case of
// non-matching checksum values, and perform a limited number of retries. A
// persistent mismatch may indicate an issue in your computation of the CRC32C
// checksum. Note: This field is defined as int64 for reasons of compatibility
// across different languages. However, it is a non-negative integer, which
// will never exceed 2^32-1, and can be safely downconverted to uint32 in
// languages that support this type.
SignatureCrc32C *wrapperspb.Int64Value `protobuf:"bytes,2,opt,name=signature_crc32c,json=signatureCrc32c,proto3" json:"signature_crc32c,omitempty"`
// Integrity verification field. A flag indicating whether
// [AsymmetricSignRequest.digest_crc32c][google.cloud.kms.v1.AsymmetricSignRequest.digest_crc32c]
// was received by
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used
// for the integrity verification of the
// [digest][google.cloud.kms.v1.AsymmetricSignRequest.digest]. A false value
// of this field indicates either that
// [AsymmetricSignRequest.digest_crc32c][google.cloud.kms.v1.AsymmetricSignRequest.digest_crc32c]
// was left unset or that it was not delivered to
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've
// set
// [AsymmetricSignRequest.digest_crc32c][google.cloud.kms.v1.AsymmetricSignRequest.digest_crc32c]
// but this field is still false, discard the response and perform a limited
// number of retries.
VerifiedDigestCrc32C bool `protobuf:"varint,3,opt,name=verified_digest_crc32c,json=verifiedDigestCrc32c,proto3" json:"verified_digest_crc32c,omitempty"`
// The resource name of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used for signing.
// Check this field to verify that the intended resource was used for signing.
Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
// Integrity verification field. A flag indicating whether
// [AsymmetricSignRequest.data_crc32c][google.cloud.kms.v1.AsymmetricSignRequest.data_crc32c]
// was received by
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used
// for the integrity verification of the
// [data][google.cloud.kms.v1.AsymmetricSignRequest.data]. A false value of
// this field indicates either that
// [AsymmetricSignRequest.data_crc32c][google.cloud.kms.v1.AsymmetricSignRequest.data_crc32c]
// was left unset or that it was not delivered to
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've
// set
// [AsymmetricSignRequest.data_crc32c][google.cloud.kms.v1.AsymmetricSignRequest.data_crc32c]
// but this field is still false, discard the response and perform a limited
// number of retries.
VerifiedDataCrc32C bool `protobuf:"varint,5,opt,name=verified_data_crc32c,json=verifiedDataCrc32c,proto3" json:"verified_data_crc32c,omitempty"`
// The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used for signing.
ProtectionLevel ProtectionLevel `protobuf:"varint,6,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"`
// contains filtered or unexported fields
}Response message for [KeyManagementService.AsymmetricSign][google.cloud.kms.v1.KeyManagementService.AsymmetricSign].
func (*AsymmetricSignResponse) Descriptor
func (*AsymmetricSignResponse) Descriptor() ([]byte, []int)Deprecated: Use AsymmetricSignResponse.ProtoReflect.Descriptor instead.
func (*AsymmetricSignResponse) GetName
func (x *AsymmetricSignResponse) GetName() stringfunc (*AsymmetricSignResponse) GetProtectionLevel
func (x *AsymmetricSignResponse) GetProtectionLevel() ProtectionLevelfunc (*AsymmetricSignResponse) GetSignature
func (x *AsymmetricSignResponse) GetSignature() []bytefunc (*AsymmetricSignResponse) GetSignatureCrc32C
func (x *AsymmetricSignResponse) GetSignatureCrc32C() *wrapperspb.Int64Valuefunc (*AsymmetricSignResponse) GetVerifiedDataCrc32C
func (x *AsymmetricSignResponse) GetVerifiedDataCrc32C() boolfunc (*AsymmetricSignResponse) GetVerifiedDigestCrc32C
func (x *AsymmetricSignResponse) GetVerifiedDigestCrc32C() boolfunc (*AsymmetricSignResponse) ProtoMessage
func (*AsymmetricSignResponse) ProtoMessage()func (*AsymmetricSignResponse) ProtoReflect
func (x *AsymmetricSignResponse) ProtoReflect() protoreflect.Messagefunc (*AsymmetricSignResponse) Reset
func (x *AsymmetricSignResponse) Reset()func (*AsymmetricSignResponse) String
func (x *AsymmetricSignResponse) String() stringAutokeyAdminClient
type AutokeyAdminClient interface {
// Updates the [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig] for a
// folder. The caller must have both `cloudkms.autokeyConfigs.update`
// permission on the parent folder and `cloudkms.cryptoKeys.setIamPolicy`
// permission on the provided key project. A
// [KeyHandle][google.cloud.kms.v1.KeyHandle] creation in the folder's
// descendant projects will use this configuration to determine where to
// create the resulting [CryptoKey][google.cloud.kms.v1.CryptoKey].
UpdateAutokeyConfig(ctx context.Context, in *UpdateAutokeyConfigRequest, opts ...grpc.CallOption) (*AutokeyConfig, error)
// Returns the [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig] for a
// folder.
GetAutokeyConfig(ctx context.Context, in *GetAutokeyConfigRequest, opts ...grpc.CallOption) (*AutokeyConfig, error)
// Returns the effective Cloud KMS Autokey configuration for a given project.
ShowEffectiveAutokeyConfig(ctx context.Context, in *ShowEffectiveAutokeyConfigRequest, opts ...grpc.CallOption) (*ShowEffectiveAutokeyConfigResponse, error)
}AutokeyAdminClient is the client API for AutokeyAdmin service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
func NewAutokeyAdminClient
func NewAutokeyAdminClient(cc grpc.ClientConnInterface) AutokeyAdminClientAutokeyAdminServer
type AutokeyAdminServer interface {
// Updates the [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig] for a
// folder. The caller must have both `cloudkms.autokeyConfigs.update`
// permission on the parent folder and `cloudkms.cryptoKeys.setIamPolicy`
// permission on the provided key project. A
// [KeyHandle][google.cloud.kms.v1.KeyHandle] creation in the folder's
// descendant projects will use this configuration to determine where to
// create the resulting [CryptoKey][google.cloud.kms.v1.CryptoKey].
UpdateAutokeyConfig(context.Context, *UpdateAutokeyConfigRequest) (*AutokeyConfig, error)
// Returns the [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig] for a
// folder.
GetAutokeyConfig(context.Context, *GetAutokeyConfigRequest) (*AutokeyConfig, error)
// Returns the effective Cloud KMS Autokey configuration for a given project.
ShowEffectiveAutokeyConfig(context.Context, *ShowEffectiveAutokeyConfigRequest) (*ShowEffectiveAutokeyConfigResponse, error)
}AutokeyAdminServer is the server API for AutokeyAdmin service. All implementations should embed UnimplementedAutokeyAdminServer for forward compatibility
AutokeyClient
type AutokeyClient interface {
// Creates a new [KeyHandle][google.cloud.kms.v1.KeyHandle], triggering the
// provisioning of a new [CryptoKey][google.cloud.kms.v1.CryptoKey] for CMEK
// use with the given resource type in the configured key project and the same
// location. [GetOperation][google.longrunning.Operations.GetOperation] should
// be used to resolve the resulting long-running operation and get the
// resulting [KeyHandle][google.cloud.kms.v1.KeyHandle] and
// [CryptoKey][google.cloud.kms.v1.CryptoKey].
CreateKeyHandle(ctx context.Context, in *CreateKeyHandleRequest, opts ...grpc.CallOption) (*longrunningpb.Operation, error)
// Returns the [KeyHandle][google.cloud.kms.v1.KeyHandle].
GetKeyHandle(ctx context.Context, in *GetKeyHandleRequest, opts ...grpc.CallOption) (*KeyHandle, error)
// Lists [KeyHandles][google.cloud.kms.v1.KeyHandle].
ListKeyHandles(ctx context.Context, in *ListKeyHandlesRequest, opts ...grpc.CallOption) (*ListKeyHandlesResponse, error)
}AutokeyClient is the client API for Autokey service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
func NewAutokeyClient
func NewAutokeyClient(cc grpc.ClientConnInterface) AutokeyClientAutokeyConfig
type AutokeyConfig struct {
// Identifier. Name of the [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig]
// resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Optional. Name of the key project, e.g. `projects/{PROJECT_ID}` or
// `projects/{PROJECT_NUMBER}`, where Cloud KMS Autokey will provision a new
// [CryptoKey][google.cloud.kms.v1.CryptoKey] when a
// [KeyHandle][google.cloud.kms.v1.KeyHandle] is created. On
// [UpdateAutokeyConfig][google.cloud.kms.v1.AutokeyAdmin.UpdateAutokeyConfig],
// the caller will require `cloudkms.cryptoKeys.setIamPolicy` permission on
// this key project. Once configured, for Cloud KMS Autokey to function
// properly, this key project must have the Cloud KMS API activated and the
// Cloud KMS Service Agent for this key project must be granted the
// `cloudkms.admin` role (or pertinent permissions). A request with an empty
// key project field will clear the configuration.
KeyProject string `protobuf:"bytes,2,opt,name=key_project,json=keyProject,proto3" json:"key_project,omitempty"`
// Output only. The state for the AutokeyConfig.
State AutokeyConfig_State `protobuf:"varint,4,opt,name=state,proto3,enum=google.cloud.kms.v1.AutokeyConfig_State" json:"state,omitempty"`
// Optional. A checksum computed by the server based on the value of other
// fields. This may be sent on update requests to ensure that the client has
// an up-to-date value before proceeding. The request will be rejected with an
// ABORTED error on a mismatched etag.
Etag string `protobuf:"bytes,6,opt,name=etag,proto3" json:"etag,omitempty"`
// contains filtered or unexported fields
}Cloud KMS Autokey configuration for a folder.
func (*AutokeyConfig) Descriptor
func (*AutokeyConfig) Descriptor() ([]byte, []int)Deprecated: Use AutokeyConfig.ProtoReflect.Descriptor instead.
func (*AutokeyConfig) GetEtag
func (x *AutokeyConfig) GetEtag() stringfunc (*AutokeyConfig) GetKeyProject
func (x *AutokeyConfig) GetKeyProject() stringfunc (*AutokeyConfig) GetName
func (x *AutokeyConfig) GetName() stringfunc (*AutokeyConfig) GetState
func (x *AutokeyConfig) GetState() AutokeyConfig_Statefunc (*AutokeyConfig) ProtoMessage
func (*AutokeyConfig) ProtoMessage()func (*AutokeyConfig) ProtoReflect
func (x *AutokeyConfig) ProtoReflect() protoreflect.Messagefunc (*AutokeyConfig) Reset
func (x *AutokeyConfig) Reset()func (*AutokeyConfig) String
func (x *AutokeyConfig) String() stringAutokeyConfig_State
type AutokeyConfig_State int32The states AutokeyConfig can be in.
AutokeyConfig_STATE_UNSPECIFIED, AutokeyConfig_ACTIVE, AutokeyConfig_KEY_PROJECT_DELETED, AutokeyConfig_UNINITIALIZED
const (
// The state of the AutokeyConfig is unspecified.
AutokeyConfig_STATE_UNSPECIFIED AutokeyConfig_State = 0
// The AutokeyConfig is currently active.
AutokeyConfig_ACTIVE AutokeyConfig_State = 1
// A previously configured key project has been deleted and the current
// AutokeyConfig is unusable.
AutokeyConfig_KEY_PROJECT_DELETED AutokeyConfig_State = 2
// The AutokeyConfig is not yet initialized or has been reset to its default
// uninitialized state.
AutokeyConfig_UNINITIALIZED AutokeyConfig_State = 3
)func (AutokeyConfig_State) Descriptor
func (AutokeyConfig_State) Descriptor() protoreflect.EnumDescriptorfunc (AutokeyConfig_State) Enum
func (x AutokeyConfig_State) Enum() *AutokeyConfig_Statefunc (AutokeyConfig_State) EnumDescriptor
func (AutokeyConfig_State) EnumDescriptor() ([]byte, []int)Deprecated: Use AutokeyConfig_State.Descriptor instead.
func (AutokeyConfig_State) Number
func (x AutokeyConfig_State) Number() protoreflect.EnumNumberfunc (AutokeyConfig_State) String
func (x AutokeyConfig_State) String() stringfunc (AutokeyConfig_State) Type
func (AutokeyConfig_State) Type() protoreflect.EnumTypeAutokeyServer
type AutokeyServer interface {
// Creates a new [KeyHandle][google.cloud.kms.v1.KeyHandle], triggering the
// provisioning of a new [CryptoKey][google.cloud.kms.v1.CryptoKey] for CMEK
// use with the given resource type in the configured key project and the same
// location. [GetOperation][google.longrunning.Operations.GetOperation] should
// be used to resolve the resulting long-running operation and get the
// resulting [KeyHandle][google.cloud.kms.v1.KeyHandle] and
// [CryptoKey][google.cloud.kms.v1.CryptoKey].
CreateKeyHandle(context.Context, *CreateKeyHandleRequest) (*longrunningpb.Operation, error)
// Returns the [KeyHandle][google.cloud.kms.v1.KeyHandle].
GetKeyHandle(context.Context, *GetKeyHandleRequest) (*KeyHandle, error)
// Lists [KeyHandles][google.cloud.kms.v1.KeyHandle].
ListKeyHandles(context.Context, *ListKeyHandlesRequest) (*ListKeyHandlesResponse, error)
}AutokeyServer is the server API for Autokey service. All implementations should embed UnimplementedAutokeyServer for forward compatibility
Certificate
type Certificate struct {
// Required. The raw certificate bytes in DER format.
RawDer []byte `protobuf:"bytes,1,opt,name=raw_der,json=rawDer,proto3" json:"raw_der,omitempty"`
// Output only. True if the certificate was parsed successfully.
Parsed bool `protobuf:"varint,2,opt,name=parsed,proto3" json:"parsed,omitempty"`
// Output only. The issuer distinguished name in RFC 2253 format. Only present
// if [parsed][google.cloud.kms.v1.Certificate.parsed] is true.
Issuer string `protobuf:"bytes,3,opt,name=issuer,proto3" json:"issuer,omitempty"`
// Output only. The subject distinguished name in RFC 2253 format. Only
// present if [parsed][google.cloud.kms.v1.Certificate.parsed] is true.
Subject string `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"`
// Output only. The subject Alternative DNS names. Only present if
// [parsed][google.cloud.kms.v1.Certificate.parsed] is true.
SubjectAlternativeDnsNames []string `protobuf:"bytes,5,rep,name=subject_alternative_dns_names,json=subjectAlternativeDnsNames,proto3" json:"subject_alternative_dns_names,omitempty"`
// Output only. The certificate is not valid before this time. Only present if
// [parsed][google.cloud.kms.v1.Certificate.parsed] is true.
NotBeforeTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=not_before_time,json=notBeforeTime,proto3" json:"not_before_time,omitempty"`
// Output only. The certificate is not valid after this time. Only present if
// [parsed][google.cloud.kms.v1.Certificate.parsed] is true.
NotAfterTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=not_after_time,json=notAfterTime,proto3" json:"not_after_time,omitempty"`
// Output only. The certificate serial number as a hex string. Only present if
// [parsed][google.cloud.kms.v1.Certificate.parsed] is true.
SerialNumber string `protobuf:"bytes,8,opt,name=serial_number,json=serialNumber,proto3" json:"serial_number,omitempty"`
// Output only. The SHA-256 certificate fingerprint as a hex string. Only
// present if [parsed][google.cloud.kms.v1.Certificate.parsed] is true.
Sha256Fingerprint string `protobuf:"bytes,9,opt,name=sha256_fingerprint,json=sha256Fingerprint,proto3" json:"sha256_fingerprint,omitempty"`
// contains filtered or unexported fields
}A [Certificate][google.cloud.kms.v1.Certificate] represents an X.509 certificate used to authenticate HTTPS connections to EKM replicas.
func (*Certificate) Descriptor
func (*Certificate) Descriptor() ([]byte, []int)Deprecated: Use Certificate.ProtoReflect.Descriptor instead.
func (*Certificate) GetIssuer
func (x *Certificate) GetIssuer() stringfunc (*Certificate) GetNotAfterTime
func (x *Certificate) GetNotAfterTime() *timestamppb.Timestampfunc (*Certificate) GetNotBeforeTime
func (x *Certificate) GetNotBeforeTime() *timestamppb.Timestampfunc (*Certificate) GetParsed
func (x *Certificate) GetParsed() boolfunc (*Certificate) GetRawDer
func (x *Certificate) GetRawDer() []bytefunc (*Certificate) GetSerialNumber
func (x *Certificate) GetSerialNumber() stringfunc (*Certificate) GetSha256Fingerprint
func (x *Certificate) GetSha256Fingerprint() stringfunc (*Certificate) GetSubject
func (x *Certificate) GetSubject() stringfunc (*Certificate) GetSubjectAlternativeDnsNames
func (x *Certificate) GetSubjectAlternativeDnsNames() []stringfunc (*Certificate) ProtoMessage
func (*Certificate) ProtoMessage()func (*Certificate) ProtoReflect
func (x *Certificate) ProtoReflect() protoreflect.Messagefunc (*Certificate) Reset
func (x *Certificate) Reset()func (*Certificate) String
func (x *Certificate) String() stringChecksummedData
type ChecksummedData struct {
// Raw Data.
Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
// Integrity verification field. A CRC32C
// checksum of the returned
// [ChecksummedData.data][google.cloud.kms.v1.ChecksummedData.data]. An
// integrity check of
// [ChecksummedData.data][google.cloud.kms.v1.ChecksummedData.data] can be
// performed by computing the CRC32C checksum of
// [ChecksummedData.data][google.cloud.kms.v1.ChecksummedData.data] and
// comparing your results to this field. Discard the response in case of
// non-matching checksum values, and perform a limited number of retries. A
// persistent mismatch may indicate an issue in your computation of the CRC32C
// checksum. Note: This field is defined as int64 for reasons of compatibility
// across different languages. However, it is a non-negative integer, which
// will never exceed `2^32-1`, and can be safely downconverted to uint32 in
// languages that support this type.
Crc32CChecksum *wrapperspb.Int64Value `protobuf:"bytes,2,opt,name=crc32c_checksum,json=crc32cChecksum,proto3" json:"crc32c_checksum,omitempty"`
// contains filtered or unexported fields
}Data with integrity verification field.
func (*ChecksummedData) Descriptor
func (*ChecksummedData) Descriptor() ([]byte, []int)Deprecated: Use ChecksummedData.ProtoReflect.Descriptor instead.
func (*ChecksummedData) GetCrc32CChecksum
func (x *ChecksummedData) GetCrc32CChecksum() *wrapperspb.Int64Valuefunc (*ChecksummedData) GetData
func (x *ChecksummedData) GetData() []bytefunc (*ChecksummedData) ProtoMessage
func (*ChecksummedData) ProtoMessage()func (*ChecksummedData) ProtoReflect
func (x *ChecksummedData) ProtoReflect() protoreflect.Messagefunc (*ChecksummedData) Reset
func (x *ChecksummedData) Reset()func (*ChecksummedData) String
func (x *ChecksummedData) String() stringCreateCryptoKeyRequest
type CreateCryptoKeyRequest struct {
// Required. The [name][google.cloud.kms.v1.KeyRing.name] of the KeyRing
// associated with the [CryptoKeys][google.cloud.kms.v1.CryptoKey].
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Required. It must be unique within a KeyRing and match the regular
// expression `[a-zA-Z0-9_-]{1,63}`
CryptoKeyId string `protobuf:"bytes,2,opt,name=crypto_key_id,json=cryptoKeyId,proto3" json:"crypto_key_id,omitempty"`
// Required. A [CryptoKey][google.cloud.kms.v1.CryptoKey] with initial field
// values.
CryptoKey *CryptoKey `protobuf:"bytes,3,opt,name=crypto_key,json=cryptoKey,proto3" json:"crypto_key,omitempty"`
// If set to true, the request will create a
// [CryptoKey][google.cloud.kms.v1.CryptoKey] without any
// [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion]. You must
// manually call
// [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion]
// or
// [ImportCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.ImportCryptoKeyVersion]
// before you can use this [CryptoKey][google.cloud.kms.v1.CryptoKey].
SkipInitialVersionCreation bool `protobuf:"varint,5,opt,name=skip_initial_version_creation,json=skipInitialVersionCreation,proto3" json:"skip_initial_version_creation,omitempty"`
// contains filtered or unexported fields
}Request message for [KeyManagementService.CreateCryptoKey][google.cloud.kms.v1.KeyManagementService.CreateCryptoKey].
func (*CreateCryptoKeyRequest) Descriptor
func (*CreateCryptoKeyRequest) Descriptor() ([]byte, []int)Deprecated: Use CreateCryptoKeyRequest.ProtoReflect.Descriptor instead.
func (*CreateCryptoKeyRequest) GetCryptoKey
func (x *CreateCryptoKeyRequest) GetCryptoKey() *CryptoKeyfunc (*CreateCryptoKeyRequest) GetCryptoKeyId
func (x *CreateCryptoKeyRequest) GetCryptoKeyId() stringfunc (*CreateCryptoKeyRequest) GetParent
func (x *CreateCryptoKeyRequest) GetParent() stringfunc (*CreateCryptoKeyRequest) GetSkipInitialVersionCreation
func (x *CreateCryptoKeyRequest) GetSkipInitialVersionCreation() boolfunc (*CreateCryptoKeyRequest) ProtoMessage
func (*CreateCryptoKeyRequest) ProtoMessage()func (*CreateCryptoKeyRequest) ProtoReflect
func (x *CreateCryptoKeyRequest) ProtoReflect() protoreflect.Messagefunc (*CreateCryptoKeyRequest) Reset
func (x *CreateCryptoKeyRequest) Reset()func (*CreateCryptoKeyRequest) String
func (x *CreateCryptoKeyRequest) String() stringCreateCryptoKeyVersionRequest
type CreateCryptoKeyVersionRequest struct {
// Required. The [name][google.cloud.kms.v1.CryptoKey.name] of the
// [CryptoKey][google.cloud.kms.v1.CryptoKey] associated with the
// [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion].
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Required. A [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with
// initial field values.
CryptoKeyVersion *CryptoKeyVersion `protobuf:"bytes,2,opt,name=crypto_key_version,json=cryptoKeyVersion,proto3" json:"crypto_key_version,omitempty"`
// contains filtered or unexported fields
}Request message for [KeyManagementService.CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion].
func (*CreateCryptoKeyVersionRequest) Descriptor
func (*CreateCryptoKeyVersionRequest) Descriptor() ([]byte, []int)Deprecated: Use CreateCryptoKeyVersionRequest.ProtoReflect.Descriptor instead.
func (*CreateCryptoKeyVersionRequest) GetCryptoKeyVersion
func (x *CreateCryptoKeyVersionRequest) GetCryptoKeyVersion() *CryptoKeyVersionfunc (*CreateCryptoKeyVersionRequest) GetParent
func (x *CreateCryptoKeyVersionRequest) GetParent() stringfunc (*CreateCryptoKeyVersionRequest) ProtoMessage
func (*CreateCryptoKeyVersionRequest) ProtoMessage()func (*CreateCryptoKeyVersionRequest) ProtoReflect
func (x *CreateCryptoKeyVersionRequest) ProtoReflect() protoreflect.Messagefunc (*CreateCryptoKeyVersionRequest) Reset
func (x *CreateCryptoKeyVersionRequest) Reset()func (*CreateCryptoKeyVersionRequest) String
func (x *CreateCryptoKeyVersionRequest) String() stringCreateEkmConnectionRequest
type CreateEkmConnectionRequest struct {
// Required. The resource name of the location associated with the
// [EkmConnection][google.cloud.kms.v1.EkmConnection], in the format
// `projects/*/locations/*`.
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Required. It must be unique within a location and match the regular
// expression `[a-zA-Z0-9_-]{1,63}`.
EkmConnectionId string `protobuf:"bytes,2,opt,name=ekm_connection_id,json=ekmConnectionId,proto3" json:"ekm_connection_id,omitempty"`
// Required. An [EkmConnection][google.cloud.kms.v1.EkmConnection] with
// initial field values.
EkmConnection *EkmConnection `protobuf:"bytes,3,opt,name=ekm_connection,json=ekmConnection,proto3" json:"ekm_connection,omitempty"`
// contains filtered or unexported fields
}Request message for [EkmService.CreateEkmConnection][google.cloud.kms.v1.EkmService.CreateEkmConnection].
func (*CreateEkmConnectionRequest) Descriptor
func (*CreateEkmConnectionRequest) Descriptor() ([]byte, []int)Deprecated: Use CreateEkmConnectionRequest.ProtoReflect.Descriptor instead.
func (*CreateEkmConnectionRequest) GetEkmConnection
func (x *CreateEkmConnectionRequest) GetEkmConnection() *EkmConnectionfunc (*CreateEkmConnectionRequest) GetEkmConnectionId
func (x *CreateEkmConnectionRequest) GetEkmConnectionId() stringfunc (*CreateEkmConnectionRequest) GetParent
func (x *CreateEkmConnectionRequest) GetParent() stringfunc (*CreateEkmConnectionRequest) ProtoMessage
func (*CreateEkmConnectionRequest) ProtoMessage()func (*CreateEkmConnectionRequest) ProtoReflect
func (x *CreateEkmConnectionRequest) ProtoReflect() protoreflect.Messagefunc (*CreateEkmConnectionRequest) Reset
func (x *CreateEkmConnectionRequest) Reset()func (*CreateEkmConnectionRequest) String
func (x *CreateEkmConnectionRequest) String() stringCreateImportJobRequest
type CreateImportJobRequest struct {
// Required. The [name][google.cloud.kms.v1.KeyRing.name] of the
// [KeyRing][google.cloud.kms.v1.KeyRing] associated with the
// [ImportJobs][google.cloud.kms.v1.ImportJob].
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Required. It must be unique within a KeyRing and match the regular
// expression `[a-zA-Z0-9_-]{1,63}`
ImportJobId string `protobuf:"bytes,2,opt,name=import_job_id,json=importJobId,proto3" json:"import_job_id,omitempty"`
// Required. An [ImportJob][google.cloud.kms.v1.ImportJob] with initial field
// values.
ImportJob *ImportJob `protobuf:"bytes,3,opt,name=import_job,json=importJob,proto3" json:"import_job,omitempty"`
// contains filtered or unexported fields
}Request message for [KeyManagementService.CreateImportJob][google.cloud.kms.v1.KeyManagementService.CreateImportJob].
func (*CreateImportJobRequest) Descriptor
func (*CreateImportJobRequest) Descriptor() ([]byte, []int)Deprecated: Use CreateImportJobRequest.ProtoReflect.Descriptor instead.
func (*CreateImportJobRequest) GetImportJob
func (x *CreateImportJobRequest) GetImportJob() *ImportJobfunc (*CreateImportJobRequest) GetImportJobId
func (x *CreateImportJobRequest) GetImportJobId() stringfunc (*CreateImportJobRequest) GetParent
func (x *CreateImportJobRequest) GetParent() stringfunc (*CreateImportJobRequest) ProtoMessage
func (*CreateImportJobRequest) ProtoMessage()func (*CreateImportJobRequest) ProtoReflect
func (x *CreateImportJobRequest) ProtoReflect() protoreflect.Messagefunc (*CreateImportJobRequest) Reset
func (x *CreateImportJobRequest) Reset()func (*CreateImportJobRequest) String
func (x *CreateImportJobRequest) String() stringCreateKeyHandleMetadata
type CreateKeyHandleMetadata struct {
// contains filtered or unexported fields
}Metadata message for [CreateKeyHandle][google.cloud.kms.v1.Autokey.CreateKeyHandle] long-running operation response.
func (*CreateKeyHandleMetadata) Descriptor
func (*CreateKeyHandleMetadata) Descriptor() ([]byte, []int)Deprecated: Use CreateKeyHandleMetadata.ProtoReflect.Descriptor instead.
func (*CreateKeyHandleMetadata) ProtoMessage
func (*CreateKeyHandleMetadata) ProtoMessage()func (*CreateKeyHandleMetadata) ProtoReflect
func (x *CreateKeyHandleMetadata) ProtoReflect() protoreflect.Messagefunc (*CreateKeyHandleMetadata) Reset
func (x *CreateKeyHandleMetadata) Reset()func (*CreateKeyHandleMetadata) String
func (x *CreateKeyHandleMetadata) String() stringCreateKeyHandleRequest
type CreateKeyHandleRequest struct {
// Required. Name of the resource project and location to create the
// [KeyHandle][google.cloud.kms.v1.KeyHandle] in, e.g.
// `projects/{PROJECT_ID}/locations/{LOCATION}`.
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Optional. Id of the [KeyHandle][google.cloud.kms.v1.KeyHandle]. Must be
// unique to the resource project and location. If not provided by the caller,
// a new UUID is used.
KeyHandleId string `protobuf:"bytes,2,opt,name=key_handle_id,json=keyHandleId,proto3" json:"key_handle_id,omitempty"`
// Required. [KeyHandle][google.cloud.kms.v1.KeyHandle] to create.
KeyHandle *KeyHandle `protobuf:"bytes,3,opt,name=key_handle,json=keyHandle,proto3" json:"key_handle,omitempty"`
// contains filtered or unexported fields
}Request message for [Autokey.CreateKeyHandle][google.cloud.kms.v1.Autokey.CreateKeyHandle].
func (*CreateKeyHandleRequest) Descriptor
func (*CreateKeyHandleRequest) Descriptor() ([]byte, []int)Deprecated: Use CreateKeyHandleRequest.ProtoReflect.Descriptor instead.
func (*CreateKeyHandleRequest) GetKeyHandle
func (x *CreateKeyHandleRequest) GetKeyHandle() *KeyHandlefunc (*CreateKeyHandleRequest) GetKeyHandleId
func (x *CreateKeyHandleRequest) GetKeyHandleId() stringfunc (*CreateKeyHandleRequest) GetParent
func (x *CreateKeyHandleRequest) GetParent() stringfunc (*CreateKeyHandleRequest) ProtoMessage
func (*CreateKeyHandleRequest) ProtoMessage()func (*CreateKeyHandleRequest) ProtoReflect
func (x *CreateKeyHandleRequest) ProtoReflect() protoreflect.Messagefunc (*CreateKeyHandleRequest) Reset
func (x *CreateKeyHandleRequest) Reset()func (*CreateKeyHandleRequest) String
func (x *CreateKeyHandleRequest) String() stringCreateKeyRingRequest
type CreateKeyRingRequest struct {
// Required. The resource name of the location associated with the
// [KeyRings][google.cloud.kms.v1.KeyRing], in the format
// `projects/*/locations/*`.
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Required. It must be unique within a location and match the regular
// expression `[a-zA-Z0-9_-]{1,63}`
KeyRingId string `protobuf:"bytes,2,opt,name=key_ring_id,json=keyRingId,proto3" json:"key_ring_id,omitempty"`
// Required. A [KeyRing][google.cloud.kms.v1.KeyRing] with initial field
// values.
KeyRing *KeyRing `protobuf:"bytes,3,opt,name=key_ring,json=keyRing,proto3" json:"key_ring,omitempty"`
// contains filtered or unexported fields
}Request message for [KeyManagementService.CreateKeyRing][google.cloud.kms.v1.KeyManagementService.CreateKeyRing].
func (*CreateKeyRingRequest) Descriptor
func (*CreateKeyRingRequest) Descriptor() ([]byte, []int)Deprecated: Use CreateKeyRingRequest.ProtoReflect.Descriptor instead.
func (*CreateKeyRingRequest) GetKeyRing
func (x *CreateKeyRingRequest) GetKeyRing() *KeyRingfunc (*CreateKeyRingRequest) GetKeyRingId
func (x *CreateKeyRingRequest) GetKeyRingId() stringfunc (*CreateKeyRingRequest) GetParent
func (x *CreateKeyRingRequest) GetParent() stringfunc (*CreateKeyRingRequest) ProtoMessage
func (*CreateKeyRingRequest) ProtoMessage()func (*CreateKeyRingRequest) ProtoReflect
func (x *CreateKeyRingRequest) ProtoReflect() protoreflect.Messagefunc (*CreateKeyRingRequest) Reset
func (x *CreateKeyRingRequest) Reset()func (*CreateKeyRingRequest) String
func (x *CreateKeyRingRequest) String() stringCryptoKey
type CryptoKey struct {
// Output only. The resource name for this
// [CryptoKey][google.cloud.kms.v1.CryptoKey] in the format
// `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Output only. A copy of the "primary"
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] that will be used
// by [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt] when this
// [CryptoKey][google.cloud.kms.v1.CryptoKey] is given in
// [EncryptRequest.name][google.cloud.kms.v1.EncryptRequest.name].
//
// The [CryptoKey][google.cloud.kms.v1.CryptoKey]'s primary version can be
// updated via
// [UpdateCryptoKeyPrimaryVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion].
//
// Keys with [purpose][google.cloud.kms.v1.CryptoKey.purpose]
// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT]
// may have a primary. For other keys, this field will be omitted.
Primary *CryptoKeyVersion `protobuf:"bytes,2,opt,name=primary,proto3" json:"primary,omitempty"`
// Immutable. The immutable purpose of this
// [CryptoKey][google.cloud.kms.v1.CryptoKey].
Purpose CryptoKey_CryptoKeyPurpose `protobuf:"varint,3,opt,name=purpose,proto3,enum=google.cloud.kms.v1.CryptoKey_CryptoKeyPurpose" json:"purpose,omitempty"`
// Output only. The time at which this
// [CryptoKey][google.cloud.kms.v1.CryptoKey] was created.
CreateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
// At [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time],
// the Key Management Service will automatically:
//
// 1. Create a new version of this [CryptoKey][google.cloud.kms.v1.CryptoKey].
// 2. Mark the new version as primary.
//
// Key rotations performed manually via
// [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion]
// and
// [UpdateCryptoKeyPrimaryVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion]
// do not affect
// [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time].
//
// Keys with [purpose][google.cloud.kms.v1.CryptoKey.purpose]
// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT]
// support automatic rotation. For other keys, this field must be omitted.
NextRotationTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=next_rotation_time,json=nextRotationTime,proto3" json:"next_rotation_time,omitempty"`
// Controls the rate of automatic rotation.
//
// Types that are assignable to RotationSchedule:
//
// *CryptoKey_RotationPeriod
RotationSchedule isCryptoKey_RotationSchedule `protobuf_oneof:"rotation_schedule"`
// A template describing settings for new
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] instances. The
// properties of new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]
// instances created by either
// [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion]
// or auto-rotation are controlled by this template.
VersionTemplate *CryptoKeyVersionTemplate `protobuf:"bytes,11,opt,name=version_template,json=versionTemplate,proto3" json:"version_template,omitempty"`
// Labels with user-defined metadata. For more information, see
// [Labeling Keys](https://cloud.google.com/kms/docs/labeling-keys).
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"`
// Immutable. Whether this key may contain imported versions only.
ImportOnly bool `protobuf:"varint,13,opt,name=import_only,json=importOnly,proto3" json:"import_only,omitempty"`
// Immutable. The period of time that versions of this key spend in the
// [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED]
// state before transitioning to
// [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED].
// If not specified at creation time, the default duration is 30 days.
DestroyScheduledDuration *durationpb.Duration `protobuf:"bytes,14,opt,name=destroy_scheduled_duration,json=destroyScheduledDuration,proto3" json:"destroy_scheduled_duration,omitempty"`
// Immutable. The resource name of the backend environment where the key
// material for all [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion]
// associated with this [CryptoKey][google.cloud.kms.v1.CryptoKey] reside and
// where all related cryptographic operations are performed. Only applicable
// if [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] have a
// [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of
// [EXTERNAL_VPC][google.cloud.kms.v1.ProtectionLevel.EXTERNAL_VPC], with the
// resource name in the format `projects/*/locations/*/ekmConnections/*`.
// Note, this list is non-exhaustive and may apply to additional
// [ProtectionLevels][google.cloud.kms.v1.ProtectionLevel] in the future.
CryptoKeyBackend string `protobuf:"bytes,15,opt,name=crypto_key_backend,json=cryptoKeyBackend,proto3" json:"crypto_key_backend,omitempty"`
// Optional. The policy used for Key Access Justifications Policy Enforcement.
// If this field is present and this key is enrolled in Key Access
// Justifications Policy Enforcement, the policy will be evaluated in encrypt,
// decrypt, and sign operations, and the operation will fail if rejected by
// the policy. The policy is defined by specifying zero or more allowed
// justification codes.
// https://cloud.google.com/assured-workloads/key-access-justifications/docs/justification-codes
// By default, this field is absent, and all justification codes are allowed.
KeyAccessJustificationsPolicy *KeyAccessJustificationsPolicy `protobuf:"bytes,17,opt,name=key_access_justifications_policy,json=keyAccessJustificationsPolicy,proto3" json:"key_access_justifications_policy,omitempty"`
// contains filtered or unexported fields
}A [CryptoKey][google.cloud.kms.v1.CryptoKey] represents a logical key that can be used for cryptographic operations.
A [CryptoKey][google.cloud.kms.v1.CryptoKey] is made up of zero or more [versions][google.cloud.kms.v1.CryptoKeyVersion], which represent the actual key material used in cryptographic operations.
func (*CryptoKey) Descriptor
Deprecated: Use CryptoKey.ProtoReflect.Descriptor instead.
func (*CryptoKey) GetCreateTime
func (x *CryptoKey) GetCreateTime() *timestamppb.Timestampfunc (*CryptoKey) GetCryptoKeyBackend
func (*CryptoKey) GetDestroyScheduledDuration
func (x *CryptoKey) GetDestroyScheduledDuration() *durationpb.Durationfunc (*CryptoKey) GetImportOnly
func (*CryptoKey) GetKeyAccessJustificationsPolicy
func (x *CryptoKey) GetKeyAccessJustificationsPolicy() *KeyAccessJustificationsPolicyfunc (*CryptoKey) GetLabels
func (*CryptoKey) GetName
func (*CryptoKey) GetNextRotationTime
func (x *CryptoKey) GetNextRotationTime() *timestamppb.Timestampfunc (*CryptoKey) GetPrimary
func (x *CryptoKey) GetPrimary() *CryptoKeyVersionfunc (*CryptoKey) GetPurpose
func (x *CryptoKey) GetPurpose() CryptoKey_CryptoKeyPurposefunc (*CryptoKey) GetRotationPeriod
func (x *CryptoKey) GetRotationPeriod() *durationpb.Durationfunc (*CryptoKey) GetRotationSchedule
func (m *CryptoKey) GetRotationSchedule() isCryptoKey_RotationSchedulefunc (*CryptoKey) GetVersionTemplate
func (x *CryptoKey) GetVersionTemplate() *CryptoKeyVersionTemplatefunc (*CryptoKey) ProtoMessage
func (*CryptoKey) ProtoMessage()func (*CryptoKey) ProtoReflect
func (x *CryptoKey) ProtoReflect() protoreflect.Messagefunc (*CryptoKey) Reset
func (x *CryptoKey) Reset()func (*CryptoKey) String
CryptoKeyVersion
type CryptoKeyVersion struct {
// Output only. The resource name for this
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in the format
// `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// The current state of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
State CryptoKeyVersion_CryptoKeyVersionState `protobuf:"varint,3,opt,name=state,proto3,enum=google.cloud.kms.v1.CryptoKeyVersion_CryptoKeyVersionState" json:"state,omitempty"`
// Output only. The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel]
// describing how crypto operations are performed with this
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
ProtectionLevel ProtectionLevel `protobuf:"varint,7,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"`
// Output only. The
// [CryptoKeyVersionAlgorithm][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm]
// that this [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]
// supports.
Algorithm CryptoKeyVersion_CryptoKeyVersionAlgorithm `protobuf:"varint,10,opt,name=algorithm,proto3,enum=google.cloud.kms.v1.CryptoKeyVersion_CryptoKeyVersionAlgorithm" json:"algorithm,omitempty"`
// Output only. Statement that was generated and signed by the HSM at key
// creation time. Use this statement to verify attributes of the key as stored
// on the HSM, independently of Google. Only provided for key versions with
// [protection_level][google.cloud.kms.v1.CryptoKeyVersion.protection_level]
// [HSM][google.cloud.kms.v1.ProtectionLevel.HSM].
Attestation *KeyOperationAttestation `protobuf:"bytes,8,opt,name=attestation,proto3" json:"attestation,omitempty"`
// Output only. The time at which this
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] was created.
CreateTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
// Output only. The time this
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s key material was
// generated.
GenerateTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=generate_time,json=generateTime,proto3" json:"generate_time,omitempty"`
// Output only. The time this
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s key material is
// scheduled for destruction. Only present if
// [state][google.cloud.kms.v1.CryptoKeyVersion.state] is
// [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED].
DestroyTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=destroy_time,json=destroyTime,proto3" json:"destroy_time,omitempty"`
// Output only. The time this CryptoKeyVersion's key material was
// destroyed. Only present if
// [state][google.cloud.kms.v1.CryptoKeyVersion.state] is
// [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED].
DestroyEventTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=destroy_event_time,json=destroyEventTime,proto3" json:"destroy_event_time,omitempty"`
// Output only. The name of the [ImportJob][google.cloud.kms.v1.ImportJob]
// used in the most recent import of this
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. Only present if
// the underlying key material was imported.
ImportJob string `protobuf:"bytes,14,opt,name=import_job,json=importJob,proto3" json:"import_job,omitempty"`
// Output only. The time at which this
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s key material was
// most recently imported.
ImportTime *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=import_time,json=importTime,proto3" json:"import_time,omitempty"`
// Output only. The root cause of the most recent import failure. Only present
// if [state][google.cloud.kms.v1.CryptoKeyVersion.state] is
// [IMPORT_FAILED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.IMPORT_FAILED].
ImportFailureReason string `protobuf:"bytes,16,opt,name=import_failure_reason,json=importFailureReason,proto3" json:"import_failure_reason,omitempty"`
// Output only. The root cause of the most recent generation failure. Only
// present if [state][google.cloud.kms.v1.CryptoKeyVersion.state] is
// [GENERATION_FAILED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.GENERATION_FAILED].
GenerationFailureReason string `protobuf:"bytes,19,opt,name=generation_failure_reason,json=generationFailureReason,proto3" json:"generation_failure_reason,omitempty"`
// Output only. The root cause of the most recent external destruction
// failure. Only present if
// [state][google.cloud.kms.v1.CryptoKeyVersion.state] is
// [EXTERNAL_DESTRUCTION_FAILED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.EXTERNAL_DESTRUCTION_FAILED].
ExternalDestructionFailureReason string `protobuf:"bytes,20,opt,name=external_destruction_failure_reason,json=externalDestructionFailureReason,proto3" json:"external_destruction_failure_reason,omitempty"`
// ExternalProtectionLevelOptions stores a group of additional fields for
// configuring a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] that
// are specific to the
// [EXTERNAL][google.cloud.kms.v1.ProtectionLevel.EXTERNAL] protection level
// and [EXTERNAL_VPC][google.cloud.kms.v1.ProtectionLevel.EXTERNAL_VPC]
// protection levels.
ExternalProtectionLevelOptions *ExternalProtectionLevelOptions `protobuf:"bytes,17,opt,name=external_protection_level_options,json=externalProtectionLevelOptions,proto3" json:"external_protection_level_options,omitempty"`
// Output only. Whether or not this key version is eligible for reimport, by
// being specified as a target in
// [ImportCryptoKeyVersionRequest.crypto_key_version][google.cloud.kms.v1.ImportCryptoKeyVersionRequest.crypto_key_version].
ReimportEligible bool `protobuf:"varint,18,opt,name=reimport_eligible,json=reimportEligible,proto3" json:"reimport_eligible,omitempty"`
// contains filtered or unexported fields
}A [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] represents an individual cryptographic key, and the associated key material.
An [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED] version can be used for cryptographic operations.
For security reasons, the raw cryptographic key material represented by a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] can never be viewed or exported. It can only be used to encrypt, decrypt, or sign data when an authorized user or application invokes Cloud KMS.
func (*CryptoKeyVersion) Descriptor
func (*CryptoKeyVersion) Descriptor() ([]byte, []int)Deprecated: Use CryptoKeyVersion.ProtoReflect.Descriptor instead.
func (*CryptoKeyVersion) GetAlgorithm
func (x *CryptoKeyVersion) GetAlgorithm() CryptoKeyVersion_CryptoKeyVersionAlgorithmfunc (*CryptoKeyVersion) GetAttestation
func (x *CryptoKeyVersion) GetAttestation() *KeyOperationAttestationfunc (*CryptoKeyVersion) GetCreateTime
func (x *CryptoKeyVersion) GetCreateTime() *timestamppb.Timestampfunc (*CryptoKeyVersion) GetDestroyEventTime
func (x *CryptoKeyVersion) GetDestroyEventTime() *timestamppb.Timestampfunc (*CryptoKeyVersion) GetDestroyTime
func (x *CryptoKeyVersion) GetDestroyTime() *timestamppb.Timestampfunc (*CryptoKeyVersion) GetExternalDestructionFailureReason
func (x *CryptoKeyVersion) GetExternalDestructionFailureReason() stringfunc (*CryptoKeyVersion) GetExternalProtectionLevelOptions
func (x *CryptoKeyVersion) GetExternalProtectionLevelOptions() *ExternalProtectionLevelOptionsfunc (*CryptoKeyVersion) GetGenerateTime
func (x *CryptoKeyVersion) GetGenerateTime() *timestamppb.Timestampfunc (*CryptoKeyVersion) GetGenerationFailureReason
func (x *CryptoKeyVersion) GetGenerationFailureReason() stringfunc (*CryptoKeyVersion) GetImportFailureReason
func (x *CryptoKeyVersion) GetImportFailureReason() stringfunc (*CryptoKeyVersion) GetImportJob
func (x *CryptoKeyVersion) GetImportJob() stringfunc (*CryptoKeyVersion) GetImportTime
func (x *CryptoKeyVersion) GetImportTime() *timestamppb.Timestampfunc (*CryptoKeyVersion) GetName
func (x *CryptoKeyVersion) GetName() stringfunc (*CryptoKeyVersion) GetProtectionLevel
func (x *CryptoKeyVersion) GetProtectionLevel() ProtectionLevelfunc (*CryptoKeyVersion) GetReimportEligible
func (x *CryptoKeyVersion) GetReimportEligible() boolfunc (*CryptoKeyVersion) GetState
func (x *CryptoKeyVersion) GetState() CryptoKeyVersion_CryptoKeyVersionStatefunc (*CryptoKeyVersion) ProtoMessage
func (*CryptoKeyVersion) ProtoMessage()func (*CryptoKeyVersion) ProtoReflect
func (x *CryptoKeyVersion) ProtoReflect() protoreflect.Messagefunc (*CryptoKeyVersion) Reset
func (x *CryptoKeyVersion) Reset()func (*CryptoKeyVersion) String
func (x *CryptoKeyVersion) String() stringCryptoKeyVersionTemplate
type CryptoKeyVersionTemplate struct {
// [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] to use when creating
// a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] based on this
// template. Immutable. Defaults to
// [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE].
ProtectionLevel ProtectionLevel `protobuf:"varint,1,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"`
// Required.
// [Algorithm][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm]
// to use when creating a
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] based on this
// template.
//
// For backwards compatibility, GOOGLE_SYMMETRIC_ENCRYPTION is implied if both
// this field is omitted and
// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] is
// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
Algorithm CryptoKeyVersion_CryptoKeyVersionAlgorithm `protobuf:"varint,3,opt,name=algorithm,proto3,enum=google.cloud.kms.v1.CryptoKeyVersion_CryptoKeyVersionAlgorithm" json:"algorithm,omitempty"`
// contains filtered or unexported fields
}A [CryptoKeyVersionTemplate][google.cloud.kms.v1.CryptoKeyVersionTemplate] specifies the properties to use when creating a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion], either manually with [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion] or automatically as a result of auto-rotation.
func (*CryptoKeyVersionTemplate) Descriptor
func (*CryptoKeyVersionTemplate) Descriptor() ([]byte, []int)Deprecated: Use CryptoKeyVersionTemplate.ProtoReflect.Descriptor instead.
func (*CryptoKeyVersionTemplate) GetAlgorithm
func (x *CryptoKeyVersionTemplate) GetAlgorithm() CryptoKeyVersion_CryptoKeyVersionAlgorithmfunc (*CryptoKeyVersionTemplate) GetProtectionLevel
func (x *CryptoKeyVersionTemplate) GetProtectionLevel() ProtectionLevelfunc (*CryptoKeyVersionTemplate) ProtoMessage
func (*CryptoKeyVersionTemplate) ProtoMessage()func (*CryptoKeyVersionTemplate) ProtoReflect
func (x *CryptoKeyVersionTemplate) ProtoReflect() protoreflect.Messagefunc (*CryptoKeyVersionTemplate) Reset
func (x *CryptoKeyVersionTemplate) Reset()func (*CryptoKeyVersionTemplate) String
func (x *CryptoKeyVersionTemplate) String() stringCryptoKeyVersion_CryptoKeyVersionAlgorithm
type CryptoKeyVersion_CryptoKeyVersionAlgorithm int32The algorithm of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion], indicating what parameters must be used for each cryptographic operation.
The [GOOGLE_SYMMETRIC_ENCRYPTION][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm.GOOGLE_SYMMETRIC_ENCRYPTION] algorithm is usable with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
Algorithms beginning with RSA_SIGN_ are usable with
[CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
[ASYMMETRIC_SIGN][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_SIGN].
The fields in the name after RSA_SIGN_ correspond to the following
parameters: padding algorithm, modulus bit length, and digest algorithm.
For PSS, the salt length used is equal to the length of digest algorithm. For example, [RSA_SIGN_PSS_2048_SHA256][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm.RSA_SIGN_PSS_2048_SHA256] will use PSS with a salt length of 256 bits or 32 bytes.
Algorithms beginning with RSA_DECRYPT_ are usable with
[CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
[ASYMMETRIC_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_DECRYPT].
The fields in the name after RSA_DECRYPT_ correspond to the following
parameters: padding algorithm, modulus bit length, and digest algorithm.
Algorithms beginning with EC_SIGN_ are usable with
[CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
[ASYMMETRIC_SIGN][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_SIGN].
The fields in the name after EC_SIGN_ correspond to the following
parameters: elliptic curve, digest algorithm.
Algorithms beginning with HMAC_ are usable with
[CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
[MAC][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.MAC].
The suffix following HMAC_ corresponds to the hash algorithm being used
(eg. SHA256).
Algorithms beginning with PQ_ are post-quantum.
For more information, see Key purposes and algorithms.
CryptoKeyVersion_CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED, CryptoKeyVersion_GOOGLE_SYMMETRIC_ENCRYPTION, CryptoKeyVersion_AES_128_GCM, CryptoKeyVersion_AES_256_GCM, CryptoKeyVersion_AES_128_CBC, CryptoKeyVersion_AES_256_CBC, CryptoKeyVersion_AES_128_CTR, CryptoKeyVersion_AES_256_CTR, CryptoKeyVersion_RSA_SIGN_PSS_2048_SHA256, CryptoKeyVersion_RSA_SIGN_PSS_3072_SHA256, CryptoKeyVersion_RSA_SIGN_PSS_4096_SHA256, CryptoKeyVersion_RSA_SIGN_PSS_4096_SHA512, CryptoKeyVersion_RSA_SIGN_PKCS1_2048_SHA256, CryptoKeyVersion_RSA_SIGN_PKCS1_3072_SHA256, CryptoKeyVersion_RSA_SIGN_PKCS1_4096_SHA256, CryptoKeyVersion_RSA_SIGN_PKCS1_4096_SHA512, CryptoKeyVersion_RSA_SIGN_RAW_PKCS1_2048, CryptoKeyVersion_RSA_SIGN_RAW_PKCS1_3072, CryptoKeyVersion_RSA_SIGN_RAW_PKCS1_4096, CryptoKeyVersion_RSA_DECRYPT_OAEP_2048_SHA256, CryptoKeyVersion_RSA_DECRYPT_OAEP_3072_SHA256, CryptoKeyVersion_RSA_DECRYPT_OAEP_4096_SHA256, CryptoKeyVersion_RSA_DECRYPT_OAEP_4096_SHA512, CryptoKeyVersion_RSA_DECRYPT_OAEP_2048_SHA1, CryptoKeyVersion_RSA_DECRYPT_OAEP_3072_SHA1, CryptoKeyVersion_RSA_DECRYPT_OAEP_4096_SHA1, CryptoKeyVersion_EC_SIGN_P256_SHA256, CryptoKeyVersion_EC_SIGN_P384_SHA384, CryptoKeyVersion_EC_SIGN_SECP256K1_SHA256, CryptoKeyVersion_EC_SIGN_ED25519, CryptoKeyVersion_HMAC_SHA256, CryptoKeyVersion_HMAC_SHA1, CryptoKeyVersion_HMAC_SHA384, CryptoKeyVersion_HMAC_SHA512, CryptoKeyVersion_HMAC_SHA224, CryptoKeyVersion_EXTERNAL_SYMMETRIC_ENCRYPTION, CryptoKeyVersion_ML_KEM_768, CryptoKeyVersion_ML_KEM_1024, CryptoKeyVersion_KEM_XWING, CryptoKeyVersion_PQ_SIGN_ML_DSA_65, CryptoKeyVersion_PQ_SIGN_SLH_DSA_SHA2_128S
const (
// Not specified.
CryptoKeyVersion_CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED CryptoKeyVersion_CryptoKeyVersionAlgorithm = 0
// Creates symmetric encryption keys.
CryptoKeyVersion_GOOGLE_SYMMETRIC_ENCRYPTION CryptoKeyVersion_CryptoKeyVersionAlgorithm = 1
// AES-GCM (Galois Counter Mode) using 128-bit keys.
CryptoKeyVersion_AES_128_GCM CryptoKeyVersion_CryptoKeyVersionAlgorithm = 41
// AES-GCM (Galois Counter Mode) using 256-bit keys.
CryptoKeyVersion_AES_256_GCM CryptoKeyVersion_CryptoKeyVersionAlgorithm = 19
// AES-CBC (Cipher Block Chaining Mode) using 128-bit keys.
CryptoKeyVersion_AES_128_CBC CryptoKeyVersion_CryptoKeyVersionAlgorithm = 42
// AES-CBC (Cipher Block Chaining Mode) using 256-bit keys.
CryptoKeyVersion_AES_256_CBC CryptoKeyVersion_CryptoKeyVersionAlgorithm = 43
// AES-CTR (Counter Mode) using 128-bit keys.
CryptoKeyVersion_AES_128_CTR CryptoKeyVersion_CryptoKeyVersionAlgorithm = 44
// AES-CTR (Counter Mode) using 256-bit keys.
CryptoKeyVersion_AES_256_CTR CryptoKeyVersion_CryptoKeyVersionAlgorithm = 45
// RSASSA-PSS 2048 bit key with a SHA256 digest.
CryptoKeyVersion_RSA_SIGN_PSS_2048_SHA256 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 2
// RSASSA-PSS 3072 bit key with a SHA256 digest.
CryptoKeyVersion_RSA_SIGN_PSS_3072_SHA256 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 3
// RSASSA-PSS 4096 bit key with a SHA256 digest.
CryptoKeyVersion_RSA_SIGN_PSS_4096_SHA256 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 4
// RSASSA-PSS 4096 bit key with a SHA512 digest.
CryptoKeyVersion_RSA_SIGN_PSS_4096_SHA512 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 15
// RSASSA-PKCS1-v1_5 with a 2048 bit key and a SHA256 digest.
CryptoKeyVersion_RSA_SIGN_PKCS1_2048_SHA256 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 5
// RSASSA-PKCS1-v1_5 with a 3072 bit key and a SHA256 digest.
CryptoKeyVersion_RSA_SIGN_PKCS1_3072_SHA256 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 6
// RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA256 digest.
CryptoKeyVersion_RSA_SIGN_PKCS1_4096_SHA256 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 7
// RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA512 digest.
CryptoKeyVersion_RSA_SIGN_PKCS1_4096_SHA512 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 16
// RSASSA-PKCS1-v1_5 signing without encoding, with a 2048 bit key.
CryptoKeyVersion_RSA_SIGN_RAW_PKCS1_2048 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 28
// RSASSA-PKCS1-v1_5 signing without encoding, with a 3072 bit key.
CryptoKeyVersion_RSA_SIGN_RAW_PKCS1_3072 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 29
// RSASSA-PKCS1-v1_5 signing without encoding, with a 4096 bit key.
CryptoKeyVersion_RSA_SIGN_RAW_PKCS1_4096 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 30
// RSAES-OAEP 2048 bit key with a SHA256 digest.
CryptoKeyVersion_RSA_DECRYPT_OAEP_2048_SHA256 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 8
// RSAES-OAEP 3072 bit key with a SHA256 digest.
CryptoKeyVersion_RSA_DECRYPT_OAEP_3072_SHA256 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 9
// RSAES-OAEP 4096 bit key with a SHA256 digest.
CryptoKeyVersion_RSA_DECRYPT_OAEP_4096_SHA256 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 10
// RSAES-OAEP 4096 bit key with a SHA512 digest.
CryptoKeyVersion_RSA_DECRYPT_OAEP_4096_SHA512 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 17
// RSAES-OAEP 2048 bit key with a SHA1 digest.
CryptoKeyVersion_RSA_DECRYPT_OAEP_2048_SHA1 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 37
// RSAES-OAEP 3072 bit key with a SHA1 digest.
CryptoKeyVersion_RSA_DECRYPT_OAEP_3072_SHA1 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 38
// RSAES-OAEP 4096 bit key with a SHA1 digest.
CryptoKeyVersion_RSA_DECRYPT_OAEP_4096_SHA1 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 39
// ECDSA on the NIST P-256 curve with a SHA256 digest.
// Other hash functions can also be used:
// https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms
CryptoKeyVersion_EC_SIGN_P256_SHA256 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 12
// ECDSA on the NIST P-384 curve with a SHA384 digest.
// Other hash functions can also be used:
// https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms
CryptoKeyVersion_EC_SIGN_P384_SHA384 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 13
// ECDSA on the non-NIST secp256k1 curve. This curve is only supported for
// HSM protection level.
// Other hash functions can also be used:
// https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms
CryptoKeyVersion_EC_SIGN_SECP256K1_SHA256 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 31
// EdDSA on the Curve25519 in pure mode (taking data as input).
CryptoKeyVersion_EC_SIGN_ED25519 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 40
// HMAC-SHA256 signing with a 256 bit key.
CryptoKeyVersion_HMAC_SHA256 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 32
// HMAC-SHA1 signing with a 160 bit key.
CryptoKeyVersion_HMAC_SHA1 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 33
// HMAC-SHA384 signing with a 384 bit key.
CryptoKeyVersion_HMAC_SHA384 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 34
// HMAC-SHA512 signing with a 512 bit key.
CryptoKeyVersion_HMAC_SHA512 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 35
// HMAC-SHA224 signing with a 224 bit key.
CryptoKeyVersion_HMAC_SHA224 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 36
// Algorithm representing symmetric encryption by an external key manager.
CryptoKeyVersion_EXTERNAL_SYMMETRIC_ENCRYPTION CryptoKeyVersion_CryptoKeyVersionAlgorithm = 18
// ML-KEM-768 (FIPS 203)
CryptoKeyVersion_ML_KEM_768 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 47
// ML-KEM-1024 (FIPS 203)
CryptoKeyVersion_ML_KEM_1024 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 48
// X-Wing hybrid KEM combining ML-KEM-768 with X25519 following
// datatracker.ietf.org/doc/draft-connolly-cfrg-xwing-kem/.
CryptoKeyVersion_KEM_XWING CryptoKeyVersion_CryptoKeyVersionAlgorithm = 63
// The post-quantum Module-Lattice-Based Digital Signature Algorithm, at
// security level 3. Randomized version.
CryptoKeyVersion_PQ_SIGN_ML_DSA_65 CryptoKeyVersion_CryptoKeyVersionAlgorithm = 56
// The post-quantum stateless hash-based digital signature algorithm, at
// security level 1. Randomized version.
CryptoKeyVersion_PQ_SIGN_SLH_DSA_SHA2_128S CryptoKeyVersion_CryptoKeyVersionAlgorithm = 57
)func (CryptoKeyVersion_CryptoKeyVersionAlgorithm) Descriptor
func (CryptoKeyVersion_CryptoKeyVersionAlgorithm) Descriptor() protoreflect.EnumDescriptorfunc (CryptoKeyVersion_CryptoKeyVersionAlgorithm) Enum
func (x CryptoKeyVersion_CryptoKeyVersionAlgorithm) Enum() *CryptoKeyVersion_CryptoKeyVersionAlgorithmfunc (CryptoKeyVersion_CryptoKeyVersionAlgorithm) EnumDescriptor
func (CryptoKeyVersion_CryptoKeyVersionAlgorithm) EnumDescriptor() ([]byte, []int)Deprecated: Use CryptoKeyVersion_CryptoKeyVersionAlgorithm.Descriptor instead.
func (CryptoKeyVersion_CryptoKeyVersionAlgorithm) Number
func (x CryptoKeyVersion_CryptoKeyVersionAlgorithm) Number() protoreflect.EnumNumberfunc (CryptoKeyVersion_CryptoKeyVersionAlgorithm) String
func (x CryptoKeyVersion_CryptoKeyVersionAlgorithm) String() stringfunc (CryptoKeyVersion_CryptoKeyVersionAlgorithm) Type
func (CryptoKeyVersion_CryptoKeyVersionAlgorithm) Type() protoreflect.EnumTypeCryptoKeyVersion_CryptoKeyVersionState
type CryptoKeyVersion_CryptoKeyVersionState int32The state of a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion], indicating if it can be used.
CryptoKeyVersion_CRYPTO_KEY_VERSION_STATE_UNSPECIFIED, CryptoKeyVersion_PENDING_GENERATION, CryptoKeyVersion_ENABLED, CryptoKeyVersion_DISABLED, CryptoKeyVersion_DESTROYED, CryptoKeyVersion_DESTROY_SCHEDULED, CryptoKeyVersion_PENDING_IMPORT, CryptoKeyVersion_IMPORT_FAILED, CryptoKeyVersion_GENERATION_FAILED, CryptoKeyVersion_PENDING_EXTERNAL_DESTRUCTION, CryptoKeyVersion_EXTERNAL_DESTRUCTION_FAILED
const (
// Not specified.
CryptoKeyVersion_CRYPTO_KEY_VERSION_STATE_UNSPECIFIED CryptoKeyVersion_CryptoKeyVersionState = 0
// This version is still being generated. It may not be used, enabled,
// disabled, or destroyed yet. Cloud KMS will automatically mark this
// version
// [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED]
// as soon as the version is ready.
CryptoKeyVersion_PENDING_GENERATION CryptoKeyVersion_CryptoKeyVersionState = 5
// This version may be used for cryptographic operations.
CryptoKeyVersion_ENABLED CryptoKeyVersion_CryptoKeyVersionState = 1
// This version may not be used, but the key material is still available,
// and the version can be placed back into the
// [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED]
// state.
CryptoKeyVersion_DISABLED CryptoKeyVersion_CryptoKeyVersionState = 2
// The key material of this version is destroyed and no longer stored.
// This version may only become
// [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED]
// again if this version is
// [reimport_eligible][google.cloud.kms.v1.CryptoKeyVersion.reimport_eligible]
// and the original key material is reimported with a call to
// [KeyManagementService.ImportCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.ImportCryptoKeyVersion].
CryptoKeyVersion_DESTROYED CryptoKeyVersion_CryptoKeyVersionState = 3
// This version is scheduled for destruction, and will be destroyed soon.
// Call
// [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion]
// to put it back into the
// [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED]
// state.
CryptoKeyVersion_DESTROY_SCHEDULED CryptoKeyVersion_CryptoKeyVersionState = 4
// This version is still being imported. It may not be used, enabled,
// disabled, or destroyed yet. Cloud KMS will automatically mark this
// version
// [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED]
// as soon as the version is ready.
CryptoKeyVersion_PENDING_IMPORT CryptoKeyVersion_CryptoKeyVersionState = 6
// This version was not imported successfully. It may not be used, enabled,
// disabled, or destroyed. The submitted key material has been discarded.
// Additional details can be found in
// [CryptoKeyVersion.import_failure_reason][google.cloud.kms.v1.CryptoKeyVersion.import_failure_reason].
CryptoKeyVersion_IMPORT_FAILED CryptoKeyVersion_CryptoKeyVersionState = 7
// This version was not generated successfully. It may not be used, enabled,
// disabled, or destroyed. Additional details can be found in
// [CryptoKeyVersion.generation_failure_reason][google.cloud.kms.v1.CryptoKeyVersion.generation_failure_reason].
CryptoKeyVersion_GENERATION_FAILED CryptoKeyVersion_CryptoKeyVersionState = 8
// This version was destroyed, and it may not be used or enabled again.
// Cloud KMS is waiting for the corresponding key material residing in an
// external key manager to be destroyed.
CryptoKeyVersion_PENDING_EXTERNAL_DESTRUCTION CryptoKeyVersion_CryptoKeyVersionState = 9
// This version was destroyed, and it may not be used or enabled again.
// However, Cloud KMS could not confirm that the corresponding key material
// residing in an external key manager was destroyed. Additional details can
// be found in
// [CryptoKeyVersion.external_destruction_failure_reason][google.cloud.kms.v1.CryptoKeyVersion.external_destruction_failure_reason].
CryptoKeyVersion_EXTERNAL_DESTRUCTION_FAILED CryptoKeyVersion_CryptoKeyVersionState = 10
)func (CryptoKeyVersion_CryptoKeyVersionState) Descriptor
func (CryptoKeyVersion_CryptoKeyVersionState) Descriptor() protoreflect.EnumDescriptorfunc (CryptoKeyVersion_CryptoKeyVersionState) Enum
func (CryptoKeyVersion_CryptoKeyVersionState) EnumDescriptor
func (CryptoKeyVersion_CryptoKeyVersionState) EnumDescriptor() ([]byte, []int)Deprecated: Use CryptoKeyVersion_CryptoKeyVersionState.Descriptor instead.
func (CryptoKeyVersion_CryptoKeyVersionState) Number
func (x CryptoKeyVersion_CryptoKeyVersionState) Number() protoreflect.EnumNumberfunc (CryptoKeyVersion_CryptoKeyVersionState) String
func (x CryptoKeyVersion_CryptoKeyVersionState) String() stringfunc (CryptoKeyVersion_CryptoKeyVersionState) Type
func (CryptoKeyVersion_CryptoKeyVersionState) Type() protoreflect.EnumTypeCryptoKeyVersion_CryptoKeyVersionView
type CryptoKeyVersion_CryptoKeyVersionView int32A view for [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]s. Controls the level of detail returned for [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] in [KeyManagementService.ListCryptoKeyVersions][google.cloud.kms.v1.KeyManagementService.ListCryptoKeyVersions] and [KeyManagementService.ListCryptoKeys][google.cloud.kms.v1.KeyManagementService.ListCryptoKeys].
CryptoKeyVersion_CRYPTO_KEY_VERSION_VIEW_UNSPECIFIED, CryptoKeyVersion_FULL
const (
// Default view for each
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. Does not
// include the
// [attestation][google.cloud.kms.v1.CryptoKeyVersion.attestation] field.
CryptoKeyVersion_CRYPTO_KEY_VERSION_VIEW_UNSPECIFIED CryptoKeyVersion_CryptoKeyVersionView = 0
// Provides all fields in each
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion], including the
// [attestation][google.cloud.kms.v1.CryptoKeyVersion.attestation].
CryptoKeyVersion_FULL CryptoKeyVersion_CryptoKeyVersionView = 1
)func (CryptoKeyVersion_CryptoKeyVersionView) Descriptor
func (CryptoKeyVersion_CryptoKeyVersionView) Descriptor() protoreflect.EnumDescriptorfunc (CryptoKeyVersion_CryptoKeyVersionView) Enum
func (CryptoKeyVersion_CryptoKeyVersionView) EnumDescriptor
func (CryptoKeyVersion_CryptoKeyVersionView) EnumDescriptor() ([]byte, []int)Deprecated: Use CryptoKeyVersion_CryptoKeyVersionView.Descriptor instead.
func (CryptoKeyVersion_CryptoKeyVersionView) Number
func (x CryptoKeyVersion_CryptoKeyVersionView) Number() protoreflect.EnumNumberfunc (CryptoKeyVersion_CryptoKeyVersionView) String
func (x CryptoKeyVersion_CryptoKeyVersionView) String() stringfunc (CryptoKeyVersion_CryptoKeyVersionView) Type
func (CryptoKeyVersion_CryptoKeyVersionView) Type() protoreflect.EnumTypeCryptoKey_CryptoKeyPurpose
type CryptoKey_CryptoKeyPurpose int32[CryptoKeyPurpose][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose] describes the cryptographic capabilities of a [CryptoKey][google.cloud.kms.v1.CryptoKey]. A given key can only be used for the operations allowed by its purpose. For more information, see Key purposes.
CryptoKey_CRYPTO_KEY_PURPOSE_UNSPECIFIED, CryptoKey_ENCRYPT_DECRYPT, CryptoKey_ASYMMETRIC_SIGN, CryptoKey_ASYMMETRIC_DECRYPT, CryptoKey_RAW_ENCRYPT_DECRYPT, CryptoKey_MAC, CryptoKey_KEY_ENCAPSULATION
const (
// Not specified.
CryptoKey_CRYPTO_KEY_PURPOSE_UNSPECIFIED CryptoKey_CryptoKeyPurpose = 0
// [CryptoKeys][google.cloud.kms.v1.CryptoKey] with this purpose may be used
// with [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt] and
// [Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt].
CryptoKey_ENCRYPT_DECRYPT CryptoKey_CryptoKeyPurpose = 1
// [CryptoKeys][google.cloud.kms.v1.CryptoKey] with this purpose may be used
// with
// [AsymmetricSign][google.cloud.kms.v1.KeyManagementService.AsymmetricSign]
// and
// [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey].
CryptoKey_ASYMMETRIC_SIGN CryptoKey_CryptoKeyPurpose = 5
// [CryptoKeys][google.cloud.kms.v1.CryptoKey] with this purpose may be used
// with
// [AsymmetricDecrypt][google.cloud.kms.v1.KeyManagementService.AsymmetricDecrypt]
// and
// [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey].
CryptoKey_ASYMMETRIC_DECRYPT CryptoKey_CryptoKeyPurpose = 6
// [CryptoKeys][google.cloud.kms.v1.CryptoKey] with this purpose may be used
// with [RawEncrypt][google.cloud.kms.v1.KeyManagementService.RawEncrypt]
// and [RawDecrypt][google.cloud.kms.v1.KeyManagementService.RawDecrypt].
// This purpose is meant to be used for interoperable symmetric
// encryption and does not support automatic CryptoKey rotation.
CryptoKey_RAW_ENCRYPT_DECRYPT CryptoKey_CryptoKeyPurpose = 7
// [CryptoKeys][google.cloud.kms.v1.CryptoKey] with this purpose may be used
// with [MacSign][google.cloud.kms.v1.KeyManagementService.MacSign].
CryptoKey_MAC CryptoKey_CryptoKeyPurpose = 9
// [CryptoKeys][google.cloud.kms.v1.CryptoKey] with this purpose may be used
// with
// [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey]
// and [Decapsulate][google.cloud.kms.v1.KeyManagementService.Decapsulate].
CryptoKey_KEY_ENCAPSULATION CryptoKey_CryptoKeyPurpose = 10
)func (CryptoKey_CryptoKeyPurpose) Descriptor
func (CryptoKey_CryptoKeyPurpose) Descriptor() protoreflect.EnumDescriptorfunc (CryptoKey_CryptoKeyPurpose) Enum
func (x CryptoKey_CryptoKeyPurpose) Enum() *CryptoKey_CryptoKeyPurposefunc (CryptoKey_CryptoKeyPurpose) EnumDescriptor
func (CryptoKey_CryptoKeyPurpose) EnumDescriptor() ([]byte, []int)Deprecated: Use CryptoKey_CryptoKeyPurpose.Descriptor instead.
func (CryptoKey_CryptoKeyPurpose) Number
func (x CryptoKey_CryptoKeyPurpose) Number() protoreflect.EnumNumberfunc (CryptoKey_CryptoKeyPurpose) String
func (x CryptoKey_CryptoKeyPurpose) String() stringfunc (CryptoKey_CryptoKeyPurpose) Type
func (CryptoKey_CryptoKeyPurpose) Type() protoreflect.EnumTypeCryptoKey_RotationPeriod
type CryptoKey_RotationPeriod struct {
// [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time]
// will be advanced by this period when the service automatically rotates a
// key. Must be at least 24 hours and at most 876,000 hours.
//
// 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.
//
// Keys with [purpose][google.cloud.kms.v1.CryptoKey.purpose]
// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT]
// support automatic rotation. For other keys, this field must be omitted.
RotationPeriod *durationpb.Duration `protobuf:"bytes,8,opt,name=rotation_period,json=rotationPeriod,proto3,oneof"`
}DecapsulateRequest
type DecapsulateRequest struct {
// Required. The resource name of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for
// decapsulation.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Required. The ciphertext produced from encapsulation with the
// named [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] public
// key(s).
Ciphertext []byte `protobuf:"bytes,2,opt,name=ciphertext,proto3" json:"ciphertext,omitempty"`
// Optional. A CRC32C checksum of the
// [DecapsulateRequest.ciphertext][google.cloud.kms.v1.DecapsulateRequest.ciphertext].
// If specified,
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will
// verify the integrity of the received
// [DecapsulateRequest.ciphertext][google.cloud.kms.v1.DecapsulateRequest.ciphertext]
// using this checksum.
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will
// report an error if the checksum verification fails. If you receive a
// checksum error, your client should verify that
// CRC32C([DecapsulateRequest.ciphertext][google.cloud.kms.v1.DecapsulateRequest.ciphertext])
// is equal to
// [DecapsulateRequest.ciphertext_crc32c][google.cloud.kms.v1.DecapsulateRequest.ciphertext_crc32c],
// and if so, perform a limited number of retries. A persistent mismatch may
// indicate an issue in your computation of the CRC32C checksum. Note: This
// field is defined as int64 for reasons of compatibility across different
// languages. However, it is a non-negative integer, which will never exceed
// 2^32-1, and can be safely downconverted to uint32 in languages that support
// this type.
CiphertextCrc32C *wrapperspb.Int64Value `protobuf:"bytes,3,opt,name=ciphertext_crc32c,json=ciphertextCrc32c,proto3" json:"ciphertext_crc32c,omitempty"`
// contains filtered or unexported fields
}Request message for [KeyManagementService.Decapsulate][google.cloud.kms.v1.KeyManagementService.Decapsulate].
func (*DecapsulateRequest) Descriptor
func (*DecapsulateRequest) Descriptor() ([]byte, []int)Deprecated: Use DecapsulateRequest.ProtoReflect.Descriptor instead.
func (*DecapsulateRequest) GetCiphertext
func (x *DecapsulateRequest) GetCiphertext() []bytefunc (*DecapsulateRequest) GetCiphertextCrc32C
func (x *DecapsulateRequest) GetCiphertextCrc32C() *wrapperspb.Int64Valuefunc (*DecapsulateRequest) GetName
func (x *DecapsulateRequest) GetName() stringfunc (*DecapsulateRequest) ProtoMessage
func (*DecapsulateRequest) ProtoMessage()func (*DecapsulateRequest) ProtoReflect
func (x *DecapsulateRequest) ProtoReflect() protoreflect.Messagefunc (*DecapsulateRequest) Reset
func (x *DecapsulateRequest) Reset()func (*DecapsulateRequest) String
func (x *DecapsulateRequest) String() stringDecapsulateResponse
type DecapsulateResponse struct {
// The resource name of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used for
// decapsulation. Check this field to verify that the intended resource was
// used for decapsulation.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// The decapsulated shared_secret originally encapsulated with the matching
// public key.
SharedSecret []byte `protobuf:"bytes,2,opt,name=shared_secret,json=sharedSecret,proto3" json:"shared_secret,omitempty"`
// Integrity verification field. A CRC32C checksum of the returned
// [DecapsulateResponse.shared_secret][google.cloud.kms.v1.DecapsulateResponse.shared_secret].
// An integrity check of
// [DecapsulateResponse.shared_secret][google.cloud.kms.v1.DecapsulateResponse.shared_secret]
// can be performed by computing the CRC32C checksum of
// [DecapsulateResponse.shared_secret][google.cloud.kms.v1.DecapsulateResponse.shared_secret]
// and comparing your results to this field. Discard the response in case of
// non-matching checksum values, and perform a limited number of retries. A
// persistent mismatch may indicate an issue in your computation of the CRC32C
// checksum. Note: receiving this response message indicates that
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] is able to
// successfully decrypt the
// [ciphertext][google.cloud.kms.v1.DecapsulateRequest.ciphertext]. Note: This
// field is defined as int64 for reasons of compatibility across different
// languages. However, it is a non-negative integer, which will never exceed
// 2^32-1, and can be safely downconverted to uint32 in languages that support
// this type.
SharedSecretCrc32C *int64 `protobuf:"varint,3,opt,name=shared_secret_crc32c,json=sharedSecretCrc32c,proto3,oneof" json:"shared_secret_crc32c,omitempty"`
// Integrity verification field. A flag indicating whether
// [DecapsulateRequest.ciphertext_crc32c][google.cloud.kms.v1.DecapsulateRequest.ciphertext_crc32c]
// was received by
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used
// for the integrity verification of the
// [ciphertext][google.cloud.kms.v1.DecapsulateRequest.ciphertext]. A false
// value of this field indicates either that
// [DecapsulateRequest.ciphertext_crc32c][google.cloud.kms.v1.DecapsulateRequest.ciphertext_crc32c]
// was left unset or that it was not delivered to
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've
// set
// [DecapsulateRequest.ciphertext_crc32c][google.cloud.kms.v1.DecapsulateRequest.ciphertext_crc32c]
// but this field is still false, discard the response and perform a limited
// number of retries.
VerifiedCiphertextCrc32C bool `protobuf:"varint,4,opt,name=verified_ciphertext_crc32c,json=verifiedCiphertextCrc32c,proto3" json:"verified_ciphertext_crc32c,omitempty"`
// The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used in
// decapsulation.
ProtectionLevel ProtectionLevel `protobuf:"varint,5,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"`
// contains filtered or unexported fields
}Response message for [KeyManagementService.Decapsulate][google.cloud.kms.v1.KeyManagementService.Decapsulate].
func (*DecapsulateResponse) Descriptor
func (*DecapsulateResponse) Descriptor() ([]byte, []int)Deprecated: Use DecapsulateResponse.ProtoReflect.Descriptor instead.
func (*DecapsulateResponse) GetName
func (x *DecapsulateResponse) GetName() stringfunc (*DecapsulateResponse) GetProtectionLevel
func (x *DecapsulateResponse) GetProtectionLevel() ProtectionLevelfunc (*DecapsulateResponse) GetSharedSecret
func (x *DecapsulateResponse) GetSharedSecret() []bytefunc (*DecapsulateResponse) GetSharedSecretCrc32C
func (x *DecapsulateResponse) GetSharedSecretCrc32C() int64func (*DecapsulateResponse) GetVerifiedCiphertextCrc32C
func (x *DecapsulateResponse) GetVerifiedCiphertextCrc32C() boolfunc (*DecapsulateResponse) ProtoMessage
func (*DecapsulateResponse) ProtoMessage()func (*DecapsulateResponse) ProtoReflect
func (x *DecapsulateResponse) ProtoReflect() protoreflect.Messagefunc (*DecapsulateResponse) Reset
func (x *DecapsulateResponse) Reset()func (*DecapsulateResponse) String
func (x *DecapsulateResponse) String() stringDecryptRequest
type DecryptRequest struct {
// Required. The resource name of the
// [CryptoKey][google.cloud.kms.v1.CryptoKey] to use for decryption. The
// server will choose the appropriate version.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Required. The encrypted data originally returned in
// [EncryptResponse.ciphertext][google.cloud.kms.v1.EncryptResponse.ciphertext].
Ciphertext []byte `protobuf:"bytes,2,opt,name=ciphertext,proto3" json:"ciphertext,omitempty"`
// Optional. Optional data that must match the data originally supplied in
// [EncryptRequest.additional_authenticated_data][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data].
AdditionalAuthenticatedData []byte `protobuf:"bytes,3,opt,name=additional_authenticated_data,json=additionalAuthenticatedData,proto3" json:"additional_authenticated_data,omitempty"`
// Optional. An optional CRC32C checksum of the
// [DecryptRequest.ciphertext][google.cloud.kms.v1.DecryptRequest.ciphertext].
// If specified,
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will
// verify the integrity of the received
// [DecryptRequest.ciphertext][google.cloud.kms.v1.DecryptRequest.ciphertext]
// using this checksum.
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will
// report an error if the checksum verification fails. If you receive a
// checksum error, your client should verify that
// CRC32C([DecryptRequest.ciphertext][google.cloud.kms.v1.DecryptRequest.ciphertext])
// is equal to
// [DecryptRequest.ciphertext_crc32c][google.cloud.kms.v1.DecryptRequest.ciphertext_crc32c],
// and if so, perform a limited number of retries. A persistent mismatch may
// indicate an issue in your computation of the CRC32C checksum. Note: This
// field is defined as int64 for reasons of compatibility across different
// languages. However, it is a non-negative integer, which will never exceed
// 2^32-1, and can be safely downconverted to uint32 in languages that support
// this type.
CiphertextCrc32C *wrapperspb.Int64Value `protobuf:"bytes,5,opt,name=ciphertext_crc32c,json=ciphertextCrc32c,proto3" json:"ciphertext_crc32c,omitempty"`
// Optional. An optional CRC32C checksum of the
// [DecryptRequest.additional_authenticated_data][google.cloud.kms.v1.DecryptRequest.additional_authenticated_data].
// If specified,
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will
// verify the integrity of the received
// [DecryptRequest.additional_authenticated_data][google.cloud.kms.v1.DecryptRequest.additional_authenticated_data]
// using this checksum.
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will
// report an error if the checksum verification fails. If you receive a
// checksum error, your client should verify that
// CRC32C([DecryptRequest.additional_authenticated_data][google.cloud.kms.v1.DecryptRequest.additional_authenticated_data])
// is equal to
// [DecryptRequest.additional_authenticated_data_crc32c][google.cloud.kms.v1.DecryptRequest.additional_authenticated_data_crc32c],
// and if so, perform a limited number of retries. A persistent mismatch may
// indicate an issue in your computation of the CRC32C checksum. Note: This
// field is defined as int64 for reasons of compatibility across different
// languages. However, it is a non-negative integer, which will never exceed
// 2^32-1, and can be safely downconverted to uint32 in languages that support
// this type.
AdditionalAuthenticatedDataCrc32C *wrapperspb.Int64Value `protobuf:"bytes,6,opt,name=additional_authenticated_data_crc32c,json=additionalAuthenticatedDataCrc32c,proto3" json:"additional_authenticated_data_crc32c,omitempty"`
// contains filtered or unexported fields
}Request message for [KeyManagementService.Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt].
func (*DecryptRequest) Descriptor
func (*DecryptRequest) Descriptor() ([]byte, []int)Deprecated: Use DecryptRequest.ProtoReflect.Descriptor instead.
func (*DecryptRequest) GetAdditionalAuthenticatedData
func (x *DecryptRequest) GetAdditionalAuthenticatedData() []bytefunc (*DecryptRequest) GetAdditionalAuthenticatedDataCrc32C
func (x *DecryptRequest) GetAdditionalAuthenticatedDataCrc32C() *wrapperspb.Int64Valuefunc (*DecryptRequest) GetCiphertext
func (x *DecryptRequest) GetCiphertext() []bytefunc (*DecryptRequest) GetCiphertextCrc32C
func (x *DecryptRequest) GetCiphertextCrc32C() *wrapperspb.Int64Valuefunc (*DecryptRequest) GetName
func (x *DecryptRequest) GetName() stringfunc (*DecryptRequest) ProtoMessage
func (*DecryptRequest) ProtoMessage()func (*DecryptRequest) ProtoReflect
func (x *DecryptRequest) ProtoReflect() protoreflect.Messagefunc (*DecryptRequest) Reset
func (x *DecryptRequest) Reset()func (*DecryptRequest) String
func (x *DecryptRequest) String() stringDecryptResponse
type DecryptResponse struct {
// The decrypted data originally supplied in
// [EncryptRequest.plaintext][google.cloud.kms.v1.EncryptRequest.plaintext].
Plaintext []byte `protobuf:"bytes,1,opt,name=plaintext,proto3" json:"plaintext,omitempty"`
// Integrity verification field. A CRC32C checksum of the returned
// [DecryptResponse.plaintext][google.cloud.kms.v1.DecryptResponse.plaintext].
// An integrity check of
// [DecryptResponse.plaintext][google.cloud.kms.v1.DecryptResponse.plaintext]
// can be performed by computing the CRC32C checksum of
// [DecryptResponse.plaintext][google.cloud.kms.v1.DecryptResponse.plaintext]
// and comparing your results to this field. Discard the response in case of
// non-matching checksum values, and perform a limited number of retries. A
// persistent mismatch may indicate an issue in your computation of the CRC32C
// checksum. Note: receiving this response message indicates that
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] is able to
// successfully decrypt the
// [ciphertext][google.cloud.kms.v1.DecryptRequest.ciphertext]. Note: This
// field is defined as int64 for reasons of compatibility across different
// languages. However, it is a non-negative integer, which will never exceed
// 2^32-1, and can be safely downconverted to uint32 in languages that support
// this type.
PlaintextCrc32C *wrapperspb.Int64Value `protobuf:"bytes,2,opt,name=plaintext_crc32c,json=plaintextCrc32c,proto3" json:"plaintext_crc32c,omitempty"`
// Whether the Decryption was performed using the primary key version.
UsedPrimary bool `protobuf:"varint,3,opt,name=used_primary,json=usedPrimary,proto3" json:"used_primary,omitempty"`
// The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used in
// decryption.
ProtectionLevel ProtectionLevel `protobuf:"varint,4,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"`
// contains filtered or unexported fields
}Response message for [KeyManagementService.Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt].
func (*DecryptResponse) Descriptor
func (*DecryptResponse) Descriptor() ([]byte, []int)Deprecated: Use DecryptResponse.ProtoReflect.Descriptor instead.
func (*DecryptResponse) GetPlaintext
func (x *DecryptResponse) GetPlaintext() []bytefunc (*DecryptResponse) GetPlaintextCrc32C
func (x *DecryptResponse) GetPlaintextCrc32C() *wrapperspb.Int64Valuefunc (*DecryptResponse) GetProtectionLevel
func (x *DecryptResponse) GetProtectionLevel() ProtectionLevelfunc (*DecryptResponse) GetUsedPrimary
func (x *DecryptResponse) GetUsedPrimary() boolfunc (*DecryptResponse) ProtoMessage
func (*DecryptResponse) ProtoMessage()func (*DecryptResponse) ProtoReflect
func (x *DecryptResponse) ProtoReflect() protoreflect.Messagefunc (*DecryptResponse) Reset
func (x *DecryptResponse) Reset()func (*DecryptResponse) String
func (x *DecryptResponse) String() stringDestroyCryptoKeyVersionRequest
type DestroyCryptoKeyVersionRequest struct {
// Required. The resource name of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to destroy.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// contains filtered or unexported fields
}Request message for [KeyManagementService.DestroyCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion].
func (*DestroyCryptoKeyVersionRequest) Descriptor
func (*DestroyCryptoKeyVersionRequest) Descriptor() ([]byte, []int)Deprecated: Use DestroyCryptoKeyVersionRequest.ProtoReflect.Descriptor instead.
func (*DestroyCryptoKeyVersionRequest) GetName
func (x *DestroyCryptoKeyVersionRequest) GetName() stringfunc (*DestroyCryptoKeyVersionRequest) ProtoMessage
func (*DestroyCryptoKeyVersionRequest) ProtoMessage()func (*DestroyCryptoKeyVersionRequest) ProtoReflect
func (x *DestroyCryptoKeyVersionRequest) ProtoReflect() protoreflect.Messagefunc (*DestroyCryptoKeyVersionRequest) Reset
func (x *DestroyCryptoKeyVersionRequest) Reset()func (*DestroyCryptoKeyVersionRequest) String
func (x *DestroyCryptoKeyVersionRequest) String() stringDigest
type Digest struct {
// Required. The message digest.
//
// Types that are assignable to Digest:
//
// *Digest_Sha256
// *Digest_Sha384
// *Digest_Sha512
Digest isDigest_Digest `protobuf_oneof:"digest"`
// contains filtered or unexported fields
}A [Digest][google.cloud.kms.v1.Digest] holds a cryptographic message digest.
func (*Digest) Descriptor
Deprecated: Use Digest.ProtoReflect.Descriptor instead.
func (*Digest) GetDigest
func (m *Digest) GetDigest() isDigest_Digestfunc (*Digest) GetSha256
func (*Digest) GetSha384
func (*Digest) GetSha512
func (*Digest) ProtoMessage
func (*Digest) ProtoMessage()func (*Digest) ProtoReflect
func (x *Digest) ProtoReflect() protoreflect.Messagefunc (*Digest) Reset
func (x *Digest) Reset()func (*Digest) String
Digest_Sha256
type Digest_Sha256 struct {
// A message digest produced with the SHA-256 algorithm.
Sha256 []byte `protobuf:"bytes,1,opt,name=sha256,proto3,oneof"`
}Digest_Sha384
type Digest_Sha384 struct {
// A message digest produced with the SHA-384 algorithm.
Sha384 []byte `protobuf:"bytes,2,opt,name=sha384,proto3,oneof"`
}Digest_Sha512
type Digest_Sha512 struct {
// A message digest produced with the SHA-512 algorithm.
Sha512 []byte `protobuf:"bytes,3,opt,name=sha512,proto3,oneof"`
}EkmConfig
type EkmConfig struct {
// Output only. The resource name for the
// [EkmConfig][google.cloud.kms.v1.EkmConfig] in the format
// `projects/*/locations/*/ekmConfig`.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Optional. Resource name of the default
// [EkmConnection][google.cloud.kms.v1.EkmConnection]. Setting this field to
// the empty string removes the default.
DefaultEkmConnection string `protobuf:"bytes,2,opt,name=default_ekm_connection,json=defaultEkmConnection,proto3" json:"default_ekm_connection,omitempty"`
// contains filtered or unexported fields
}An [EkmConfig][google.cloud.kms.v1.EkmConfig] is a singleton resource that represents configuration parameters that apply to all [CryptoKeys][google.cloud.kms.v1.CryptoKey] and [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] with a [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of [EXTERNAL_VPC][google.cloud.kms.v1.ProtectionLevel.EXTERNAL_VPC] in a given project and location.
func (*EkmConfig) Descriptor
Deprecated: Use EkmConfig.ProtoReflect.Descriptor instead.
func (*EkmConfig) GetDefaultEkmConnection
func (*EkmConfig) GetName
func (*EkmConfig) ProtoMessage
func (*EkmConfig) ProtoMessage()func (*EkmConfig) ProtoReflect
func (x *EkmConfig) ProtoReflect() protoreflect.Messagefunc (*EkmConfig) Reset
func (x *EkmConfig) Reset()func (*EkmConfig) String
EkmConnection
type EkmConnection struct {
// Output only. The resource name for the
// [EkmConnection][google.cloud.kms.v1.EkmConnection] in the format
// `projects/*/locations/*/ekmConnections/*`.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Output only. The time at which the
// [EkmConnection][google.cloud.kms.v1.EkmConnection] was created.
CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
// Optional. A list of
// [ServiceResolvers][google.cloud.kms.v1.EkmConnection.ServiceResolver] where
// the EKM can be reached. There should be one ServiceResolver per EKM
// replica. Currently, only a single
// [ServiceResolver][google.cloud.kms.v1.EkmConnection.ServiceResolver] is
// supported.
ServiceResolvers []*EkmConnection_ServiceResolver `protobuf:"bytes,3,rep,name=service_resolvers,json=serviceResolvers,proto3" json:"service_resolvers,omitempty"`
// Optional. Etag of the currently stored
// [EkmConnection][google.cloud.kms.v1.EkmConnection].
Etag string `protobuf:"bytes,5,opt,name=etag,proto3" json:"etag,omitempty"`
// Optional. Describes who can perform control plane operations on the EKM. If
// unset, this defaults to
// [MANUAL][google.cloud.kms.v1.EkmConnection.KeyManagementMode.MANUAL].
KeyManagementMode EkmConnection_KeyManagementMode `protobuf:"varint,6,opt,name=key_management_mode,json=keyManagementMode,proto3,enum=google.cloud.kms.v1.EkmConnection_KeyManagementMode" json:"key_management_mode,omitempty"`
// Optional. Identifies the EKM Crypto Space that this
// [EkmConnection][google.cloud.kms.v1.EkmConnection] maps to. Note: This
// field is required if
// [KeyManagementMode][google.cloud.kms.v1.EkmConnection.KeyManagementMode] is
// [CLOUD_KMS][google.cloud.kms.v1.EkmConnection.KeyManagementMode.CLOUD_KMS].
CryptoSpacePath string `protobuf:"bytes,7,opt,name=crypto_space_path,json=cryptoSpacePath,proto3" json:"crypto_space_path,omitempty"`
// contains filtered or unexported fields
}An [EkmConnection][google.cloud.kms.v1.EkmConnection] represents an individual EKM connection. It can be used for creating [CryptoKeys][google.cloud.kms.v1.CryptoKey] and [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] with a [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of [EXTERNAL_VPC][google.cloud.kms.v1.ProtectionLevel.EXTERNAL_VPC], as well as performing cryptographic operations using keys created within the [EkmConnection][google.cloud.kms.v1.EkmConnection].
func (*EkmConnection) Descriptor
func (*EkmConnection) Descriptor() ([]byte, []int)Deprecated: Use EkmConnection.ProtoReflect.Descriptor instead.
func (*EkmConnection) GetCreateTime
func (x *EkmConnection) GetCreateTime() *timestamppb.Timestampfunc (*EkmConnection) GetCryptoSpacePath
func (x *EkmConnection) GetCryptoSpacePath() stringfunc (*EkmConnection) GetEtag
func (x *EkmConnection) GetEtag() stringfunc (*EkmConnection) GetKeyManagementMode
func (x *EkmConnection) GetKeyManagementMode() EkmConnection_KeyManagementModefunc (*EkmConnection) GetName
func (x *EkmConnection) GetName() stringfunc (*EkmConnection) GetServiceResolvers
func (x *EkmConnection) GetServiceResolvers() []*EkmConnection_ServiceResolverfunc (*EkmConnection) ProtoMessage
func (*EkmConnection) ProtoMessage()func (*EkmConnection) ProtoReflect
func (x *EkmConnection) ProtoReflect() protoreflect.Messagefunc (*EkmConnection) Reset
func (x *EkmConnection) Reset()func (*EkmConnection) String
func (x *EkmConnection) String() stringEkmConnection_KeyManagementMode
type EkmConnection_KeyManagementMode int32[KeyManagementMode][google.cloud.kms.v1.EkmConnection.KeyManagementMode] describes who can perform control plane cryptographic operations using this [EkmConnection][google.cloud.kms.v1.EkmConnection].
EkmConnection_KEY_MANAGEMENT_MODE_UNSPECIFIED, EkmConnection_MANUAL, EkmConnection_CLOUD_KMS
const (
// Not specified.
EkmConnection_KEY_MANAGEMENT_MODE_UNSPECIFIED EkmConnection_KeyManagementMode = 0
// EKM-side key management operations on
// [CryptoKeys][google.cloud.kms.v1.CryptoKey] created with this
// [EkmConnection][google.cloud.kms.v1.EkmConnection] must be initiated from
// the EKM directly and cannot be performed from Cloud KMS. This means that:
// * When creating a
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] associated with
// this
//
// [EkmConnection][google.cloud.kms.v1.EkmConnection], the caller must
// supply the key path of pre-existing external key material that will be
// linked to the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
// - Destruction of external key material cannot be requested via the
// Cloud KMS API and must be performed directly in the EKM.
// - Automatic rotation of key material is not supported.
EkmConnection_MANUAL EkmConnection_KeyManagementMode = 1
// All [CryptoKeys][google.cloud.kms.v1.CryptoKey] created with this
// [EkmConnection][google.cloud.kms.v1.EkmConnection] use EKM-side key
// management operations initiated from Cloud KMS. This means that:
//
// * When a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]
// associated with this [EkmConnection][google.cloud.kms.v1.EkmConnection]
// is
//
// created, the EKM automatically generates new key material and a new
// key path. The caller cannot supply the key path of pre-existing
// external key material.
// - Destruction of external key material associated with this
// [EkmConnection][google.cloud.kms.v1.EkmConnection] can be requested by
// calling
// [DestroyCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion].
// - Automatic rotation of key material is supported.
EkmConnection_CLOUD_KMS EkmConnection_KeyManagementMode = 2
)func (EkmConnection_KeyManagementMode) Descriptor
func (EkmConnection_KeyManagementMode) Descriptor() protoreflect.EnumDescriptorfunc (EkmConnection_KeyManagementMode) Enum
func (x EkmConnection_KeyManagementMode) Enum() *EkmConnection_KeyManagementModefunc (EkmConnection_KeyManagementMode) EnumDescriptor
func (EkmConnection_KeyManagementMode) EnumDescriptor() ([]byte, []int)Deprecated: Use EkmConnection_KeyManagementMode.Descriptor instead.
func (EkmConnection_KeyManagementMode) Number
func (x EkmConnection_KeyManagementMode) Number() protoreflect.EnumNumberfunc (EkmConnection_KeyManagementMode) String
func (x EkmConnection_KeyManagementMode) String() stringfunc (EkmConnection_KeyManagementMode) Type
func (EkmConnection_KeyManagementMode) Type() protoreflect.EnumTypeEkmConnection_ServiceResolver
type EkmConnection_ServiceResolver struct {
// Required. The resource name of the Service Directory service pointing to
// an EKM replica, in the format
// `projects/*/locations/*/namespaces/*/services/*`.
ServiceDirectoryService string `protobuf:"bytes,1,opt,name=service_directory_service,json=serviceDirectoryService,proto3" json:"service_directory_service,omitempty"`
// Optional. The filter applied to the endpoints of the resolved service. If
// no filter is specified, all endpoints will be considered. An endpoint
// will be chosen arbitrarily from the filtered list for each request.
//
// For endpoint filter syntax and examples, see
// https://cloud.google.com/service-directory/docs/reference/rpc/google.cloud.servicedirectory.v1#resolveservicerequest.
EndpointFilter string `protobuf:"bytes,2,opt,name=endpoint_filter,json=endpointFilter,proto3" json:"endpoint_filter,omitempty"`
// Required. The hostname of the EKM replica used at TLS and HTTP layers.
Hostname string `protobuf:"bytes,3,opt,name=hostname,proto3" json:"hostname,omitempty"`
// Required. A list of leaf server certificates used to authenticate HTTPS
// connections to the EKM replica. Currently, a maximum of 10
// [Certificate][google.cloud.kms.v1.Certificate] is supported.
ServerCertificates []*Certificate `protobuf:"bytes,4,rep,name=server_certificates,json=serverCertificates,proto3" json:"server_certificates,omitempty"`
// contains filtered or unexported fields
}A [ServiceResolver][google.cloud.kms.v1.EkmConnection.ServiceResolver] represents an EKM replica that can be reached within an [EkmConnection][google.cloud.kms.v1.EkmConnection].
func (*EkmConnection_ServiceResolver) Descriptor
func (*EkmConnection_ServiceResolver) Descriptor() ([]byte, []int)Deprecated: Use EkmConnection_ServiceResolver.ProtoReflect.Descriptor instead.
func (*EkmConnection_ServiceResolver) GetEndpointFilter
func (x *EkmConnection_ServiceResolver) GetEndpointFilter() stringfunc (*EkmConnection_ServiceResolver) GetHostname
func (x *EkmConnection_ServiceResolver) GetHostname() stringfunc (*EkmConnection_ServiceResolver) GetServerCertificates
func (x *EkmConnection_ServiceResolver) GetServerCertificates() []*Certificatefunc (*EkmConnection_ServiceResolver) GetServiceDirectoryService
func (x *EkmConnection_ServiceResolver) GetServiceDirectoryService() stringfunc (*EkmConnection_ServiceResolver) ProtoMessage
func (*EkmConnection_ServiceResolver) ProtoMessage()func (*EkmConnection_ServiceResolver) ProtoReflect
func (x *EkmConnection_ServiceResolver) ProtoReflect() protoreflect.Messagefunc (*EkmConnection_ServiceResolver) Reset
func (x *EkmConnection_ServiceResolver) Reset()func (*EkmConnection_ServiceResolver) String
func (x *EkmConnection_ServiceResolver) String() stringEkmServiceClient
type EkmServiceClient interface {
// Lists [EkmConnections][google.cloud.kms.v1.EkmConnection].
ListEkmConnections(ctx context.Context, in *ListEkmConnectionsRequest, opts ...grpc.CallOption) (*ListEkmConnectionsResponse, error)
// Returns metadata for a given
// [EkmConnection][google.cloud.kms.v1.EkmConnection].
GetEkmConnection(ctx context.Context, in *GetEkmConnectionRequest, opts ...grpc.CallOption) (*EkmConnection, error)
// Creates a new [EkmConnection][google.cloud.kms.v1.EkmConnection] in a given
// Project and Location.
CreateEkmConnection(ctx context.Context, in *CreateEkmConnectionRequest, opts ...grpc.CallOption) (*EkmConnection, error)
// Updates an [EkmConnection][google.cloud.kms.v1.EkmConnection]'s metadata.
UpdateEkmConnection(ctx context.Context, in *UpdateEkmConnectionRequest, opts ...grpc.CallOption) (*EkmConnection, error)
// Returns the [EkmConfig][google.cloud.kms.v1.EkmConfig] singleton resource
// for a given project and location.
GetEkmConfig(ctx context.Context, in *GetEkmConfigRequest, opts ...grpc.CallOption) (*EkmConfig, error)
// Updates the [EkmConfig][google.cloud.kms.v1.EkmConfig] singleton resource
// for a given project and location.
UpdateEkmConfig(ctx context.Context, in *UpdateEkmConfigRequest, opts ...grpc.CallOption) (*EkmConfig, error)
// Verifies that Cloud KMS can successfully connect to the external key
// manager specified by an [EkmConnection][google.cloud.kms.v1.EkmConnection].
// If there is an error connecting to the EKM, this method returns a
// FAILED_PRECONDITION status containing structured information as described
// at https://cloud.google.com/kms/docs/reference/ekm_errors.
VerifyConnectivity(ctx context.Context, in *VerifyConnectivityRequest, opts ...grpc.CallOption) (*VerifyConnectivityResponse, error)
}EkmServiceClient is the client API for EkmService service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
func NewEkmServiceClient
func NewEkmServiceClient(cc grpc.ClientConnInterface) EkmServiceClientEkmServiceServer
type EkmServiceServer interface {
// Lists [EkmConnections][google.cloud.kms.v1.EkmConnection].
ListEkmConnections(context.Context, *ListEkmConnectionsRequest) (*ListEkmConnectionsResponse, error)
// Returns metadata for a given
// [EkmConnection][google.cloud.kms.v1.EkmConnection].
GetEkmConnection(context.Context, *GetEkmConnectionRequest) (*EkmConnection, error)
// Creates a new [EkmConnection][google.cloud.kms.v1.EkmConnection] in a given
// Project and Location.
CreateEkmConnection(context.Context, *CreateEkmConnectionRequest) (*EkmConnection, error)
// Updates an [EkmConnection][google.cloud.kms.v1.EkmConnection]'s metadata.
UpdateEkmConnection(context.Context, *UpdateEkmConnectionRequest) (*EkmConnection, error)
// Returns the [EkmConfig][google.cloud.kms.v1.EkmConfig] singleton resource
// for a given project and location.
GetEkmConfig(context.Context, *GetEkmConfigRequest) (*EkmConfig, error)
// Updates the [EkmConfig][google.cloud.kms.v1.EkmConfig] singleton resource
// for a given project and location.
UpdateEkmConfig(context.Context, *UpdateEkmConfigRequest) (*EkmConfig, error)
// Verifies that Cloud KMS can successfully connect to the external key
// manager specified by an [EkmConnection][google.cloud.kms.v1.EkmConnection].
// If there is an error connecting to the EKM, this method returns a
// FAILED_PRECONDITION status containing structured information as described
// at https://cloud.google.com/kms/docs/reference/ekm_errors.
VerifyConnectivity(context.Context, *VerifyConnectivityRequest) (*VerifyConnectivityResponse, error)
}EkmServiceServer is the server API for EkmService service. All implementations should embed UnimplementedEkmServiceServer for forward compatibility
EncryptRequest
type EncryptRequest struct {
// Required. The resource name of the
// [CryptoKey][google.cloud.kms.v1.CryptoKey] or
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for
// encryption.
//
// If a [CryptoKey][google.cloud.kms.v1.CryptoKey] is specified, the server
// will use its [primary version][google.cloud.kms.v1.CryptoKey.primary].
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Required. The data to encrypt. Must be no larger than 64KiB.
//
// The maximum size depends on the key version's
// [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level].
// For [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE],
// [EXTERNAL][google.cloud.kms.v1.ProtectionLevel.EXTERNAL], and
// [EXTERNAL_VPC][google.cloud.kms.v1.ProtectionLevel.EXTERNAL_VPC] keys, the
// plaintext must be no larger than 64KiB. For
// [HSM][google.cloud.kms.v1.ProtectionLevel.HSM] keys, the combined length of
// the plaintext and additional_authenticated_data fields must be no larger
// than 8KiB.
Plaintext []byte `protobuf:"bytes,2,opt,name=plaintext,proto3" json:"plaintext,omitempty"`
// Optional. Optional data that, if specified, must also be provided during
// decryption through
// [DecryptRequest.additional_authenticated_data][google.cloud.kms.v1.DecryptRequest.additional_authenticated_data].
//
// The maximum size depends on the key version's
// [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level].
// For [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE],
// [EXTERNAL][google.cloud.kms.v1.ProtectionLevel.EXTERNAL], and
// [EXTERNAL_VPC][google.cloud.kms.v1.ProtectionLevel.EXTERNAL_VPC] keys the
// AAD must be no larger than 64KiB. For
// [HSM][google.cloud.kms.v1.ProtectionLevel.HSM] keys, the combined length of
// the plaintext and additional_authenticated_data fields must be no larger
// than 8KiB.
AdditionalAuthenticatedData []byte `protobuf:"bytes,3,opt,name=additional_authenticated_data,json=additionalAuthenticatedData,proto3" json:"additional_authenticated_data,omitempty"`
// Optional. An optional CRC32C checksum of the
// [EncryptRequest.plaintext][google.cloud.kms.v1.EncryptRequest.plaintext].
// If specified,
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will
// verify the integrity of the received
// [EncryptRequest.plaintext][google.cloud.kms.v1.EncryptRequest.plaintext]
// using this checksum.
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will
// report an error if the checksum verification fails. If you receive a
// checksum error, your client should verify that
// CRC32C([EncryptRequest.plaintext][google.cloud.kms.v1.EncryptRequest.plaintext])
// is equal to
// [EncryptRequest.plaintext_crc32c][google.cloud.kms.v1.EncryptRequest.plaintext_crc32c],
// and if so, perform a limited number of retries. A persistent mismatch may
// indicate an issue in your computation of the CRC32C checksum. Note: This
// field is defined as int64 for reasons of compatibility across different
// languages. However, it is a non-negative integer, which will never exceed
// 2^32-1, and can be safely downconverted to uint32 in languages that support
// this type.
PlaintextCrc32C *wrapperspb.Int64Value `protobuf:"bytes,7,opt,name=plaintext_crc32c,json=plaintextCrc32c,proto3" json:"plaintext_crc32c,omitempty"`
// Optional. An optional CRC32C checksum of the
// [EncryptRequest.additional_authenticated_data][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data].
// If specified,
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will
// verify the integrity of the received
// [EncryptRequest.additional_authenticated_data][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data]
// using this checksum.
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will
// report an error if the checksum verification fails. If you receive a
// checksum error, your client should verify that
// CRC32C([EncryptRequest.additional_authenticated_data][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data])
// is equal to
// [EncryptRequest.additional_authenticated_data_crc32c][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data_crc32c],
// and if so, perform a limited number of retries. A persistent mismatch may
// indicate an issue in your computation of the CRC32C checksum. Note: This
// field is defined as int64 for reasons of compatibility across different
// languages. However, it is a non-negative integer, which will never exceed
// 2^32-1, and can be safely downconverted to uint32 in languages that support
// this type.
AdditionalAuthenticatedDataCrc32C *wrapperspb.Int64Value `protobuf:"bytes,8,opt,name=additional_authenticated_data_crc32c,json=additionalAuthenticatedDataCrc32c,proto3" json:"additional_authenticated_data_crc32c,omitempty"`
// contains filtered or unexported fields
}Request message for [KeyManagementService.Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt].
func (*EncryptRequest) Descriptor
func (*EncryptRequest) Descriptor() ([]byte, []int)Deprecated: Use EncryptRequest.ProtoReflect.Descriptor instead.
func (*EncryptRequest) GetAdditionalAuthenticatedData
func (x *EncryptRequest) GetAdditionalAuthenticatedData() []bytefunc (*EncryptRequest) GetAdditionalAuthenticatedDataCrc32C
func (x *EncryptRequest) GetAdditionalAuthenticatedDataCrc32C() *wrapperspb.Int64Valuefunc (*EncryptRequest) GetName
func (x *EncryptRequest) GetName() stringfunc (*EncryptRequest) GetPlaintext
func (x *EncryptRequest) GetPlaintext() []bytefunc (*EncryptRequest) GetPlaintextCrc32C
func (x *EncryptRequest) GetPlaintextCrc32C() *wrapperspb.Int64Valuefunc (*EncryptRequest) ProtoMessage
func (*EncryptRequest) ProtoMessage()func (*EncryptRequest) ProtoReflect
func (x *EncryptRequest) ProtoReflect() protoreflect.Messagefunc (*EncryptRequest) Reset
func (x *EncryptRequest) Reset()func (*EncryptRequest) String
func (x *EncryptRequest) String() stringEncryptResponse
type EncryptResponse struct {
// The resource name of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used in
// encryption. Check this field to verify that the intended resource was used
// for encryption.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// The encrypted data.
Ciphertext []byte `protobuf:"bytes,2,opt,name=ciphertext,proto3" json:"ciphertext,omitempty"`
// Integrity verification field. A CRC32C checksum of the returned
// [EncryptResponse.ciphertext][google.cloud.kms.v1.EncryptResponse.ciphertext].
// An integrity check of
// [EncryptResponse.ciphertext][google.cloud.kms.v1.EncryptResponse.ciphertext]
// can be performed by computing the CRC32C checksum of
// [EncryptResponse.ciphertext][google.cloud.kms.v1.EncryptResponse.ciphertext]
// and comparing your results to this field. Discard the response in case of
// non-matching checksum values, and perform a limited number of retries. A
// persistent mismatch may indicate an issue in your computation of the CRC32C
// checksum. Note: This field is defined as int64 for reasons of compatibility
// across different languages. However, it is a non-negative integer, which
// will never exceed 2^32-1, and can be safely downconverted to uint32 in
// languages that support this type.
CiphertextCrc32C *wrapperspb.Int64Value `protobuf:"bytes,4,opt,name=ciphertext_crc32c,json=ciphertextCrc32c,proto3" json:"ciphertext_crc32c,omitempty"`
// Integrity verification field. A flag indicating whether
// [EncryptRequest.plaintext_crc32c][google.cloud.kms.v1.EncryptRequest.plaintext_crc32c]
// was received by
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used
// for the integrity verification of the
// [plaintext][google.cloud.kms.v1.EncryptRequest.plaintext]. A false value of
// this field indicates either that
// [EncryptRequest.plaintext_crc32c][google.cloud.kms.v1.EncryptRequest.plaintext_crc32c]
// was left unset or that it was not delivered to
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've
// set
// [EncryptRequest.plaintext_crc32c][google.cloud.kms.v1.EncryptRequest.plaintext_crc32c]
// but this field is still false, discard the response and perform a limited
// number of retries.
VerifiedPlaintextCrc32C bool `protobuf:"varint,5,opt,name=verified_plaintext_crc32c,json=verifiedPlaintextCrc32c,proto3" json:"verified_plaintext_crc32c,omitempty"`
// Integrity verification field. A flag indicating whether
// [EncryptRequest.additional_authenticated_data_crc32c][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data_crc32c]
// was received by
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used
// for the integrity verification of the
// [AAD][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data]. A
// false value of this field indicates either that
// [EncryptRequest.additional_authenticated_data_crc32c][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data_crc32c]
// was left unset or that it was not delivered to
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've
// set
// [EncryptRequest.additional_authenticated_data_crc32c][google.cloud.kms.v1.EncryptRequest.additional_authenticated_data_crc32c]
// but this field is still false, discard the response and perform a limited
// number of retries.
VerifiedAdditionalAuthenticatedDataCrc32C bool `protobuf:"varint,6,opt,name=verified_additional_authenticated_data_crc32c,json=verifiedAdditionalAuthenticatedDataCrc32c,proto3" json:"verified_additional_authenticated_data_crc32c,omitempty"`
// The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used in
// encryption.
ProtectionLevel ProtectionLevel `protobuf:"varint,7,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"`
// contains filtered or unexported fields
}Response message for [KeyManagementService.Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt].
func (*EncryptResponse) Descriptor
func (*EncryptResponse) Descriptor() ([]byte, []int)Deprecated: Use EncryptResponse.ProtoReflect.Descriptor instead.
func (*EncryptResponse) GetCiphertext
func (x *EncryptResponse) GetCiphertext() []bytefunc (*EncryptResponse) GetCiphertextCrc32C
func (x *EncryptResponse) GetCiphertextCrc32C() *wrapperspb.Int64Valuefunc (*EncryptResponse) GetName
func (x *EncryptResponse) GetName() stringfunc (*EncryptResponse) GetProtectionLevel
func (x *EncryptResponse) GetProtectionLevel() ProtectionLevelfunc (*EncryptResponse) GetVerifiedAdditionalAuthenticatedDataCrc32C
func (x *EncryptResponse) GetVerifiedAdditionalAuthenticatedDataCrc32C() boolfunc (*EncryptResponse) GetVerifiedPlaintextCrc32C
func (x *EncryptResponse) GetVerifiedPlaintextCrc32C() boolfunc (*EncryptResponse) ProtoMessage
func (*EncryptResponse) ProtoMessage()func (*EncryptResponse) ProtoReflect
func (x *EncryptResponse) ProtoReflect() protoreflect.Messagefunc (*EncryptResponse) Reset
func (x *EncryptResponse) Reset()func (*EncryptResponse) String
func (x *EncryptResponse) String() stringExternalProtectionLevelOptions
type ExternalProtectionLevelOptions struct {
// The URI for an external resource that this
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] represents.
ExternalKeyUri string `protobuf:"bytes,1,opt,name=external_key_uri,json=externalKeyUri,proto3" json:"external_key_uri,omitempty"`
// The path to the external key material on the EKM when using
// [EkmConnection][google.cloud.kms.v1.EkmConnection] e.g., "v0/my/key". Set
// this field instead of external_key_uri when using an
// [EkmConnection][google.cloud.kms.v1.EkmConnection].
EkmConnectionKeyPath string `protobuf:"bytes,2,opt,name=ekm_connection_key_path,json=ekmConnectionKeyPath,proto3" json:"ekm_connection_key_path,omitempty"`
// contains filtered or unexported fields
}ExternalProtectionLevelOptions stores a group of additional fields for configuring a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] that are specific to the [EXTERNAL][google.cloud.kms.v1.ProtectionLevel.EXTERNAL] protection level and [EXTERNAL_VPC][google.cloud.kms.v1.ProtectionLevel.EXTERNAL_VPC] protection levels.
func (*ExternalProtectionLevelOptions) Descriptor
func (*ExternalProtectionLevelOptions) Descriptor() ([]byte, []int)Deprecated: Use ExternalProtectionLevelOptions.ProtoReflect.Descriptor instead.
func (*ExternalProtectionLevelOptions) GetEkmConnectionKeyPath
func (x *ExternalProtectionLevelOptions) GetEkmConnectionKeyPath() stringfunc (*ExternalProtectionLevelOptions) GetExternalKeyUri
func (x *ExternalProtectionLevelOptions) GetExternalKeyUri() stringfunc (*ExternalProtectionLevelOptions) ProtoMessage
func (*ExternalProtectionLevelOptions) ProtoMessage()func (*ExternalProtectionLevelOptions) ProtoReflect
func (x *ExternalProtectionLevelOptions) ProtoReflect() protoreflect.Messagefunc (*ExternalProtectionLevelOptions) Reset
func (x *ExternalProtectionLevelOptions) Reset()func (*ExternalProtectionLevelOptions) String
func (x *ExternalProtectionLevelOptions) String() stringGenerateRandomBytesRequest
type GenerateRandomBytesRequest struct {
// The project-specific location in which to generate random bytes.
// For example, "projects/my-project/locations/us-central1".
Location string `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"`
// The length in bytes of the amount of randomness to retrieve. Minimum 8
// bytes, maximum 1024 bytes.
LengthBytes int32 `protobuf:"varint,2,opt,name=length_bytes,json=lengthBytes,proto3" json:"length_bytes,omitempty"`
// The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] to use when
// generating the random data. Currently, only
// [HSM][google.cloud.kms.v1.ProtectionLevel.HSM] protection level is
// supported.
ProtectionLevel ProtectionLevel `protobuf:"varint,3,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"`
// contains filtered or unexported fields
}Request message for [KeyManagementService.GenerateRandomBytes][google.cloud.kms.v1.KeyManagementService.GenerateRandomBytes].
func (*GenerateRandomBytesRequest) Descriptor
func (*GenerateRandomBytesRequest) Descriptor() ([]byte, []int)Deprecated: Use GenerateRandomBytesRequest.ProtoReflect.Descriptor instead.
func (*GenerateRandomBytesRequest) GetLengthBytes
func (x *GenerateRandomBytesRequest) GetLengthBytes() int32func (*GenerateRandomBytesRequest) GetLocation
func (x *GenerateRandomBytesRequest) GetLocation() stringfunc (*GenerateRandomBytesRequest) GetProtectionLevel
func (x *GenerateRandomBytesRequest) GetProtectionLevel() ProtectionLevelfunc (*GenerateRandomBytesRequest) ProtoMessage
func (*GenerateRandomBytesRequest) ProtoMessage()func (*GenerateRandomBytesRequest) ProtoReflect
func (x *GenerateRandomBytesRequest) ProtoReflect() protoreflect.Messagefunc (*GenerateRandomBytesRequest) Reset
func (x *GenerateRandomBytesRequest) Reset()func (*GenerateRandomBytesRequest) String
func (x *GenerateRandomBytesRequest) String() stringGenerateRandomBytesResponse
type GenerateRandomBytesResponse struct {
// The generated data.
Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
// Integrity verification field. A CRC32C checksum of the returned
// [GenerateRandomBytesResponse.data][google.cloud.kms.v1.GenerateRandomBytesResponse.data].
// An integrity check of
// [GenerateRandomBytesResponse.data][google.cloud.kms.v1.GenerateRandomBytesResponse.data]
// can be performed by computing the CRC32C checksum of
// [GenerateRandomBytesResponse.data][google.cloud.kms.v1.GenerateRandomBytesResponse.data]
// and comparing your results to this field. Discard the response in case of
// non-matching checksum values, and perform a limited number of retries. A
// persistent mismatch may indicate an issue in your computation of the CRC32C
// checksum. Note: This field is defined as int64 for reasons of compatibility
// across different languages. However, it is a non-negative integer, which
// will never exceed 2^32-1, and can be safely downconverted to uint32 in
// languages that support this type.
DataCrc32C *wrapperspb.Int64Value `protobuf:"bytes,3,opt,name=data_crc32c,json=dataCrc32c,proto3" json:"data_crc32c,omitempty"`
// contains filtered or unexported fields
}Response message for [KeyManagementService.GenerateRandomBytes][google.cloud.kms.v1.KeyManagementService.GenerateRandomBytes].
func (*GenerateRandomBytesResponse) Descriptor
func (*GenerateRandomBytesResponse) Descriptor() ([]byte, []int)Deprecated: Use GenerateRandomBytesResponse.ProtoReflect.Descriptor instead.
func (*GenerateRandomBytesResponse) GetData
func (x *GenerateRandomBytesResponse) GetData() []bytefunc (*GenerateRandomBytesResponse) GetDataCrc32C
func (x *GenerateRandomBytesResponse) GetDataCrc32C() *wrapperspb.Int64Valuefunc (*GenerateRandomBytesResponse) ProtoMessage
func (*GenerateRandomBytesResponse) ProtoMessage()func (*GenerateRandomBytesResponse) ProtoReflect
func (x *GenerateRandomBytesResponse) ProtoReflect() protoreflect.Messagefunc (*GenerateRandomBytesResponse) Reset
func (x *GenerateRandomBytesResponse) Reset()func (*GenerateRandomBytesResponse) String
func (x *GenerateRandomBytesResponse) String() stringGetAutokeyConfigRequest
type GetAutokeyConfigRequest struct {
// Required. Name of the [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig]
// resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// contains filtered or unexported fields
}Request message for [GetAutokeyConfig][google.cloud.kms.v1.AutokeyAdmin.GetAutokeyConfig].
func (*GetAutokeyConfigRequest) Descriptor
func (*GetAutokeyConfigRequest) Descriptor() ([]byte, []int)Deprecated: Use GetAutokeyConfigRequest.ProtoReflect.Descriptor instead.
func (*GetAutokeyConfigRequest) GetName
func (x *GetAutokeyConfigRequest) GetName() stringfunc (*GetAutokeyConfigRequest) ProtoMessage
func (*GetAutokeyConfigRequest) ProtoMessage()func (*GetAutokeyConfigRequest) ProtoReflect
func (x *GetAutokeyConfigRequest) ProtoReflect() protoreflect.Messagefunc (*GetAutokeyConfigRequest) Reset
func (x *GetAutokeyConfigRequest) Reset()func (*GetAutokeyConfigRequest) String
func (x *GetAutokeyConfigRequest) String() stringGetCryptoKeyRequest
type GetCryptoKeyRequest struct {
// Required. The [name][google.cloud.kms.v1.CryptoKey.name] of the
// [CryptoKey][google.cloud.kms.v1.CryptoKey] to get.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// contains filtered or unexported fields
}Request message for [KeyManagementService.GetCryptoKey][google.cloud.kms.v1.KeyManagementService.GetCryptoKey].
func (*GetCryptoKeyRequest) Descriptor
func (*GetCryptoKeyRequest) Descriptor() ([]byte, []int)Deprecated: Use GetCryptoKeyRequest.ProtoReflect.Descriptor instead.
func (*GetCryptoKeyRequest) GetName
func (x *GetCryptoKeyRequest) GetName() stringfunc (*GetCryptoKeyRequest) ProtoMessage
func (*GetCryptoKeyRequest) ProtoMessage()func (*GetCryptoKeyRequest) ProtoReflect
func (x *GetCryptoKeyRequest) ProtoReflect() protoreflect.Messagefunc (*GetCryptoKeyRequest) Reset
func (x *GetCryptoKeyRequest) Reset()func (*GetCryptoKeyRequest) String
func (x *GetCryptoKeyRequest) String() stringGetCryptoKeyVersionRequest
type GetCryptoKeyVersionRequest struct {
// Required. The [name][google.cloud.kms.v1.CryptoKeyVersion.name] of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to get.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// contains filtered or unexported fields
}Request message for [KeyManagementService.GetCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.GetCryptoKeyVersion].
func (*GetCryptoKeyVersionRequest) Descriptor
func (*GetCryptoKeyVersionRequest) Descriptor() ([]byte, []int)Deprecated: Use GetCryptoKeyVersionRequest.ProtoReflect.Descriptor instead.
func (*GetCryptoKeyVersionRequest) GetName
func (x *GetCryptoKeyVersionRequest) GetName() stringfunc (*GetCryptoKeyVersionRequest) ProtoMessage
func (*GetCryptoKeyVersionRequest) ProtoMessage()func (*GetCryptoKeyVersionRequest) ProtoReflect
func (x *GetCryptoKeyVersionRequest) ProtoReflect() protoreflect.Messagefunc (*GetCryptoKeyVersionRequest) Reset
func (x *GetCryptoKeyVersionRequest) Reset()func (*GetCryptoKeyVersionRequest) String
func (x *GetCryptoKeyVersionRequest) String() stringGetEkmConfigRequest
type GetEkmConfigRequest struct {
// Required. The [name][google.cloud.kms.v1.EkmConfig.name] of the
// [EkmConfig][google.cloud.kms.v1.EkmConfig] to get.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// contains filtered or unexported fields
}Request message for [EkmService.GetEkmConfig][google.cloud.kms.v1.EkmService.GetEkmConfig].
func (*GetEkmConfigRequest) Descriptor
func (*GetEkmConfigRequest) Descriptor() ([]byte, []int)Deprecated: Use GetEkmConfigRequest.ProtoReflect.Descriptor instead.
func (*GetEkmConfigRequest) GetName
func (x *GetEkmConfigRequest) GetName() stringfunc (*GetEkmConfigRequest) ProtoMessage
func (*GetEkmConfigRequest) ProtoMessage()func (*GetEkmConfigRequest) ProtoReflect
func (x *GetEkmConfigRequest) ProtoReflect() protoreflect.Messagefunc (*GetEkmConfigRequest) Reset
func (x *GetEkmConfigRequest) Reset()func (*GetEkmConfigRequest) String
func (x *GetEkmConfigRequest) String() stringGetEkmConnectionRequest
type GetEkmConnectionRequest struct {
// Required. The [name][google.cloud.kms.v1.EkmConnection.name] of the
// [EkmConnection][google.cloud.kms.v1.EkmConnection] to get.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// contains filtered or unexported fields
}Request message for [EkmService.GetEkmConnection][google.cloud.kms.v1.EkmService.GetEkmConnection].
func (*GetEkmConnectionRequest) Descriptor
func (*GetEkmConnectionRequest) Descriptor() ([]byte, []int)Deprecated: Use GetEkmConnectionRequest.ProtoReflect.Descriptor instead.
func (*GetEkmConnectionRequest) GetName
func (x *GetEkmConnectionRequest) GetName() stringfunc (*GetEkmConnectionRequest) ProtoMessage
func (*GetEkmConnectionRequest) ProtoMessage()func (*GetEkmConnectionRequest) ProtoReflect
func (x *GetEkmConnectionRequest) ProtoReflect() protoreflect.Messagefunc (*GetEkmConnectionRequest) Reset
func (x *GetEkmConnectionRequest) Reset()func (*GetEkmConnectionRequest) String
func (x *GetEkmConnectionRequest) String() stringGetImportJobRequest
type GetImportJobRequest struct {
// Required. The [name][google.cloud.kms.v1.ImportJob.name] of the
// [ImportJob][google.cloud.kms.v1.ImportJob] to get.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// contains filtered or unexported fields
}Request message for [KeyManagementService.GetImportJob][google.cloud.kms.v1.KeyManagementService.GetImportJob].
func (*GetImportJobRequest) Descriptor
func (*GetImportJobRequest) Descriptor() ([]byte, []int)Deprecated: Use GetImportJobRequest.ProtoReflect.Descriptor instead.
func (*GetImportJobRequest) GetName
func (x *GetImportJobRequest) GetName() stringfunc (*GetImportJobRequest) ProtoMessage
func (*GetImportJobRequest) ProtoMessage()func (*GetImportJobRequest) ProtoReflect
func (x *GetImportJobRequest) ProtoReflect() protoreflect.Messagefunc (*GetImportJobRequest) Reset
func (x *GetImportJobRequest) Reset()func (*GetImportJobRequest) String
func (x *GetImportJobRequest) String() stringGetKeyHandleRequest
type GetKeyHandleRequest struct {
// Required. Name of the [KeyHandle][google.cloud.kms.v1.KeyHandle] resource,
// e.g.
// `projects/{PROJECT_ID}/locations/{LOCATION}/keyHandles/{KEY_HANDLE_ID}`.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// contains filtered or unexported fields
}Request message for [GetKeyHandle][google.cloud.kms.v1.Autokey.GetKeyHandle].
func (*GetKeyHandleRequest) Descriptor
func (*GetKeyHandleRequest) Descriptor() ([]byte, []int)Deprecated: Use GetKeyHandleRequest.ProtoReflect.Descriptor instead.
func (*GetKeyHandleRequest) GetName
func (x *GetKeyHandleRequest) GetName() stringfunc (*GetKeyHandleRequest) ProtoMessage
func (*GetKeyHandleRequest) ProtoMessage()func (*GetKeyHandleRequest) ProtoReflect
func (x *GetKeyHandleRequest) ProtoReflect() protoreflect.Messagefunc (*GetKeyHandleRequest) Reset
func (x *GetKeyHandleRequest) Reset()func (*GetKeyHandleRequest) String
func (x *GetKeyHandleRequest) String() stringGetKeyRingRequest
type GetKeyRingRequest struct {
// Required. The [name][google.cloud.kms.v1.KeyRing.name] of the
// [KeyRing][google.cloud.kms.v1.KeyRing] to get.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// contains filtered or unexported fields
}Request message for [KeyManagementService.GetKeyRing][google.cloud.kms.v1.KeyManagementService.GetKeyRing].
func (*GetKeyRingRequest) Descriptor
func (*GetKeyRingRequest) Descriptor() ([]byte, []int)Deprecated: Use GetKeyRingRequest.ProtoReflect.Descriptor instead.
func (*GetKeyRingRequest) GetName
func (x *GetKeyRingRequest) GetName() stringfunc (*GetKeyRingRequest) ProtoMessage
func (*GetKeyRingRequest) ProtoMessage()func (*GetKeyRingRequest) ProtoReflect
func (x *GetKeyRingRequest) ProtoReflect() protoreflect.Messagefunc (*GetKeyRingRequest) Reset
func (x *GetKeyRingRequest) Reset()func (*GetKeyRingRequest) String
func (x *GetKeyRingRequest) String() stringGetPublicKeyRequest
type GetPublicKeyRequest struct {
// Required. The [name][google.cloud.kms.v1.CryptoKeyVersion.name] of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] public key to get.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Optional. The [PublicKey][google.cloud.kms.v1.PublicKey] format specified
// by the user. This field is required for PQC algorithms. If specified, the
// public key will be exported through the
// [public_key][google.cloud.kms.v1.PublicKey.public_key] field in the
// requested format. Otherwise, the [pem][google.cloud.kms.v1.PublicKey.pem]
// field will be populated for non-PQC algorithms, and an error will be
// returned for PQC algorithms.
PublicKeyFormat PublicKey_PublicKeyFormat `protobuf:"varint,2,opt,name=public_key_format,json=publicKeyFormat,proto3,enum=google.cloud.kms.v1.PublicKey_PublicKeyFormat" json:"public_key_format,omitempty"`
// contains filtered or unexported fields
}Request message for [KeyManagementService.GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey].
func (*GetPublicKeyRequest) Descriptor
func (*GetPublicKeyRequest) Descriptor() ([]byte, []int)Deprecated: Use GetPublicKeyRequest.ProtoReflect.Descriptor instead.
func (*GetPublicKeyRequest) GetName
func (x *GetPublicKeyRequest) GetName() stringfunc (*GetPublicKeyRequest) GetPublicKeyFormat
func (x *GetPublicKeyRequest) GetPublicKeyFormat() PublicKey_PublicKeyFormatfunc (*GetPublicKeyRequest) ProtoMessage
func (*GetPublicKeyRequest) ProtoMessage()func (*GetPublicKeyRequest) ProtoReflect
func (x *GetPublicKeyRequest) ProtoReflect() protoreflect.Messagefunc (*GetPublicKeyRequest) Reset
func (x *GetPublicKeyRequest) Reset()func (*GetPublicKeyRequest) String
func (x *GetPublicKeyRequest) String() stringImportCryptoKeyVersionRequest
type ImportCryptoKeyVersionRequest struct {
// Required. The [name][google.cloud.kms.v1.CryptoKey.name] of the
// [CryptoKey][google.cloud.kms.v1.CryptoKey] to be imported into.
//
// The create permission is only required on this key when creating a new
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Optional. The optional [name][google.cloud.kms.v1.CryptoKeyVersion.name] of
// an existing [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to
// target for an import operation. If this field is not present, a new
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] containing the
// supplied key material is created.
//
// If this field is present, the supplied key material is imported into
// the existing [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. To
// import into an existing
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion], the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] must be a child of
// [ImportCryptoKeyVersionRequest.parent][google.cloud.kms.v1.ImportCryptoKeyVersionRequest.parent],
// have been previously created via
// [ImportCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.ImportCryptoKeyVersion],
// and be in
// [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED]
// or
// [IMPORT_FAILED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.IMPORT_FAILED]
// state. The key material and algorithm must match the previous
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] exactly if the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] has ever contained
// key material.
CryptoKeyVersion string `protobuf:"bytes,6,opt,name=crypto_key_version,json=cryptoKeyVersion,proto3" json:"crypto_key_version,omitempty"`
// Required. The
// [algorithm][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm]
// of the key being imported. This does not need to match the
// [version_template][google.cloud.kms.v1.CryptoKey.version_template] of the
// [CryptoKey][google.cloud.kms.v1.CryptoKey] this version imports into.
Algorithm CryptoKeyVersion_CryptoKeyVersionAlgorithm `protobuf:"varint,2,opt,name=algorithm,proto3,enum=google.cloud.kms.v1.CryptoKeyVersion_CryptoKeyVersionAlgorithm" json:"algorithm,omitempty"`
// Required. The [name][google.cloud.kms.v1.ImportJob.name] of the
// [ImportJob][google.cloud.kms.v1.ImportJob] that was used to wrap this key
// material.
ImportJob string `protobuf:"bytes,4,opt,name=import_job,json=importJob,proto3" json:"import_job,omitempty"`
// Optional. The wrapped key material to import.
//
// Before wrapping, key material must be formatted. If importing symmetric key
// material, the expected key material format is plain bytes. If importing
// asymmetric key material, the expected key material format is PKCS#8-encoded
// DER (the PrivateKeyInfo structure from RFC 5208).
//
// When wrapping with import methods
// ([RSA_OAEP_3072_SHA1_AES_256][google.cloud.kms.v1.ImportJob.ImportMethod.RSA_OAEP_3072_SHA1_AES_256]
// or
// [RSA_OAEP_4096_SHA1_AES_256][google.cloud.kms.v1.ImportJob.ImportMethod.RSA_OAEP_4096_SHA1_AES_256]
// or
// [RSA_OAEP_3072_SHA256_AES_256][google.cloud.kms.v1.ImportJob.ImportMethod.RSA_OAEP_3072_SHA256_AES_256]
// or
// [RSA_OAEP_4096_SHA256_AES_256][google.cloud.kms.v1.ImportJob.ImportMethod.RSA_OAEP_4096_SHA256_AES_256]),
//
// this field must contain the concatenation of:
//
//
// - An ephemeral AES-256 wrapping key wrapped with the
// [public_key][google.cloud.kms.v1.ImportJob.public_key] using
// RSAES-OAEP with SHA-1/SHA-256, MGF1 with SHA-1/SHA-256, and an empty
// label.
//
// - The formatted key to be imported, wrapped with the ephemeral AES-256
// key using AES-KWP (RFC 5649).
//
//
//
//
// This format is the same as the format produced by PKCS#11 mechanism
// CKM_RSA_AES_KEY_WRAP.
//
// When wrapping with import methods
// ([RSA_OAEP_3072_SHA256][google.cloud.kms.v1.ImportJob.ImportMethod.RSA_OAEP_3072_SHA256]
// or
// [RSA_OAEP_4096_SHA256][google.cloud.kms.v1.ImportJob.ImportMethod.RSA_OAEP_4096_SHA256]),
//
// this field must contain the formatted key to be imported, wrapped with the
// [public_key][google.cloud.kms.v1.ImportJob.public_key] using RSAES-OAEP
// with SHA-256, MGF1 with SHA-256, and an empty label.
WrappedKey []byte `protobuf:"bytes,8,opt,name=wrapped_key,json=wrappedKey,proto3" json:"wrapped_key,omitempty"`
// This field is legacy. Use the field
// [wrapped_key][google.cloud.kms.v1.ImportCryptoKeyVersionRequest.wrapped_key]
// instead.
//
// Types that are assignable to WrappedKeyMaterial:
//
// *ImportCryptoKeyVersionRequest_RsaAesWrappedKey
WrappedKeyMaterial isImportCryptoKeyVersionRequest_WrappedKeyMaterial `protobuf_oneof:"wrapped_key_material"`
// contains filtered or unexported fields
}Request message for [KeyManagementService.ImportCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.ImportCryptoKeyVersion].
func (*ImportCryptoKeyVersionRequest) Descriptor
func (*ImportCryptoKeyVersionRequest) Descriptor() ([]byte, []int)Deprecated: Use ImportCryptoKeyVersionRequest.ProtoReflect.Descriptor instead.
func (*ImportCryptoKeyVersionRequest) GetAlgorithm
func (x *ImportCryptoKeyVersionRequest) GetAlgorithm() CryptoKeyVersion_CryptoKeyVersionAlgorithmfunc (*ImportCryptoKeyVersionRequest) GetCryptoKeyVersion
func (x *ImportCryptoKeyVersionRequest) GetCryptoKeyVersion() stringfunc (*ImportCryptoKeyVersionRequest) GetImportJob
func (x *ImportCryptoKeyVersionRequest) GetImportJob() stringfunc (*ImportCryptoKeyVersionRequest) GetParent
func (x *ImportCryptoKeyVersionRequest) GetParent() stringfunc (*ImportCryptoKeyVersionRequest) GetRsaAesWrappedKey
func (x *ImportCryptoKeyVersionRequest) GetRsaAesWrappedKey() []bytefunc (*ImportCryptoKeyVersionRequest) GetWrappedKey
func (x *ImportCryptoKeyVersionRequest) GetWrappedKey() []bytefunc (*ImportCryptoKeyVersionRequest) GetWrappedKeyMaterial
func (m *ImportCryptoKeyVersionRequest) GetWrappedKeyMaterial() isImportCryptoKeyVersionRequest_WrappedKeyMaterialfunc (*ImportCryptoKeyVersionRequest) ProtoMessage
func (*ImportCryptoKeyVersionRequest) ProtoMessage()func (*ImportCryptoKeyVersionRequest) ProtoReflect
func (x *ImportCryptoKeyVersionRequest) ProtoReflect() protoreflect.Messagefunc (*ImportCryptoKeyVersionRequest) Reset
func (x *ImportCryptoKeyVersionRequest) Reset()func (*ImportCryptoKeyVersionRequest) String
func (x *ImportCryptoKeyVersionRequest) String() stringImportCryptoKeyVersionRequest_RsaAesWrappedKey
type ImportCryptoKeyVersionRequest_RsaAesWrappedKey struct {
// Optional. This field has the same meaning as
// [wrapped_key][google.cloud.kms.v1.ImportCryptoKeyVersionRequest.wrapped_key].
// Prefer to use that field in new work. Either that field or this field
// (but not both) must be specified.
RsaAesWrappedKey []byte `protobuf:"bytes,5,opt,name=rsa_aes_wrapped_key,json=rsaAesWrappedKey,proto3,oneof"`
}ImportJob
type ImportJob struct {
// Output only. The resource name for this
// [ImportJob][google.cloud.kms.v1.ImportJob] in the format
// `projects/*/locations/*/keyRings/*/importJobs/*`.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Required. Immutable. The wrapping method to be used for incoming key
// material.
ImportMethod ImportJob_ImportMethod `protobuf:"varint,2,opt,name=import_method,json=importMethod,proto3,enum=google.cloud.kms.v1.ImportJob_ImportMethod" json:"import_method,omitempty"`
// Required. Immutable. The protection level of the
// [ImportJob][google.cloud.kms.v1.ImportJob]. This must match the
// [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level]
// of the [version_template][google.cloud.kms.v1.CryptoKey.version_template]
// on the [CryptoKey][google.cloud.kms.v1.CryptoKey] you attempt to import
// into.
ProtectionLevel ProtectionLevel `protobuf:"varint,9,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"`
// Output only. The time at which this
// [ImportJob][google.cloud.kms.v1.ImportJob] was created.
CreateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
// Output only. The time this [ImportJob][google.cloud.kms.v1.ImportJob]'s key
// material was generated.
GenerateTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=generate_time,json=generateTime,proto3" json:"generate_time,omitempty"`
// Output only. The time at which this
// [ImportJob][google.cloud.kms.v1.ImportJob] is scheduled for expiration and
// can no longer be used to import key material.
ExpireTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=expire_time,json=expireTime,proto3" json:"expire_time,omitempty"`
// Output only. The time this [ImportJob][google.cloud.kms.v1.ImportJob]
// expired. Only present if [state][google.cloud.kms.v1.ImportJob.state] is
// [EXPIRED][google.cloud.kms.v1.ImportJob.ImportJobState.EXPIRED].
ExpireEventTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=expire_event_time,json=expireEventTime,proto3" json:"expire_event_time,omitempty"`
// Output only. The current state of the
// [ImportJob][google.cloud.kms.v1.ImportJob], indicating if it can be used.
State ImportJob_ImportJobState `protobuf:"varint,6,opt,name=state,proto3,enum=google.cloud.kms.v1.ImportJob_ImportJobState" json:"state,omitempty"`
// Output only. The public key with which to wrap key material prior to
// import. Only returned if [state][google.cloud.kms.v1.ImportJob.state] is
// [ACTIVE][google.cloud.kms.v1.ImportJob.ImportJobState.ACTIVE].
PublicKey *ImportJob_WrappingPublicKey `protobuf:"bytes,7,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"`
// Output only. Statement that was generated and signed by the key creator
// (for example, an HSM) at key creation time. Use this statement to verify
// attributes of the key as stored on the HSM, independently of Google.
// Only present if the chosen
// [ImportMethod][google.cloud.kms.v1.ImportJob.ImportMethod] is one with a
// protection level of [HSM][google.cloud.kms.v1.ProtectionLevel.HSM].
Attestation *KeyOperationAttestation `protobuf:"bytes,8,opt,name=attestation,proto3" json:"attestation,omitempty"`
// contains filtered or unexported fields
}An [ImportJob][google.cloud.kms.v1.ImportJob] can be used to create [CryptoKeys][google.cloud.kms.v1.CryptoKey] and [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] using pre-existing key material, generated outside of Cloud KMS.
When an [ImportJob][google.cloud.kms.v1.ImportJob] is created, Cloud KMS will generate a "wrapping key", which is a public/private key pair. You use the wrapping key to encrypt (also known as wrap) the pre-existing key material to protect it during the import process. The nature of the wrapping key depends on the choice of [import_method][google.cloud.kms.v1.ImportJob.import_method]. When the wrapping key generation is complete, the [state][google.cloud.kms.v1.ImportJob.state] will be set to [ACTIVE][google.cloud.kms.v1.ImportJob.ImportJobState.ACTIVE] and the [public_key][google.cloud.kms.v1.ImportJob.public_key] can be fetched. The fetched public key can then be used to wrap your pre-existing key material.
Once the key material is wrapped, it can be imported into a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in an existing [CryptoKey][google.cloud.kms.v1.CryptoKey] by calling [ImportCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.ImportCryptoKeyVersion]. Multiple [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] can be imported with a single [ImportJob][google.cloud.kms.v1.ImportJob]. Cloud KMS uses the private key portion of the wrapping key to unwrap the key material. Only Cloud KMS has access to the private key.
An [ImportJob][google.cloud.kms.v1.ImportJob] expires 3 days after it is created. Once expired, Cloud KMS will no longer be able to import or unwrap any key material that was wrapped with the [ImportJob][google.cloud.kms.v1.ImportJob]'s public key.
For more information, see Importing a key.
func (*ImportJob) Descriptor
Deprecated: Use ImportJob.ProtoReflect.Descriptor instead.
func (*ImportJob) GetAttestation
func (x *ImportJob) GetAttestation() *KeyOperationAttestationfunc (*ImportJob) GetCreateTime
func (x *ImportJob) GetCreateTime() *timestamppb.Timestampfunc (*ImportJob) GetExpireEventTime
func (x *ImportJob) GetExpireEventTime() *timestamppb.Timestampfunc (*ImportJob) GetExpireTime
func (x *ImportJob) GetExpireTime() *timestamppb.Timestampfunc (*ImportJob) GetGenerateTime
func (x *ImportJob) GetGenerateTime() *timestamppb.Timestampfunc (*ImportJob) GetImportMethod
func (x *ImportJob) GetImportMethod() ImportJob_ImportMethodfunc (*ImportJob) GetName
func (*ImportJob) GetProtectionLevel
func (x *ImportJob) GetProtectionLevel() ProtectionLevelfunc (*ImportJob) GetPublicKey
func (x *ImportJob) GetPublicKey() *ImportJob_WrappingPublicKeyfunc (*ImportJob) GetState
func (x *ImportJob) GetState() ImportJob_ImportJobStatefunc (*ImportJob) ProtoMessage
func (*ImportJob) ProtoMessage()func (*ImportJob) ProtoReflect
func (x *ImportJob) ProtoReflect() protoreflect.Messagefunc (*ImportJob) Reset
func (x *ImportJob) Reset()func (*ImportJob) String
ImportJob_ImportJobState
type ImportJob_ImportJobState int32The state of the [ImportJob][google.cloud.kms.v1.ImportJob], indicating if it can be used.
ImportJob_IMPORT_JOB_STATE_UNSPECIFIED, ImportJob_PENDING_GENERATION, ImportJob_ACTIVE, ImportJob_EXPIRED
const (
// Not specified.
ImportJob_IMPORT_JOB_STATE_UNSPECIFIED ImportJob_ImportJobState = 0
// The wrapping key for this job is still being generated. It may not be
// used. Cloud KMS will automatically mark this job as
// [ACTIVE][google.cloud.kms.v1.ImportJob.ImportJobState.ACTIVE] as soon as
// the wrapping key is generated.
ImportJob_PENDING_GENERATION ImportJob_ImportJobState = 1
// This job may be used in
// [CreateCryptoKey][google.cloud.kms.v1.KeyManagementService.CreateCryptoKey]
// and
// [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion]
// requests.
ImportJob_ACTIVE ImportJob_ImportJobState = 2
// This job can no longer be used and may not leave this state once entered.
ImportJob_EXPIRED ImportJob_ImportJobState = 3
)func (ImportJob_ImportJobState) Descriptor
func (ImportJob_ImportJobState) Descriptor() protoreflect.EnumDescriptorfunc (ImportJob_ImportJobState) Enum
func (x ImportJob_ImportJobState) Enum() *ImportJob_ImportJobStatefunc (ImportJob_ImportJobState) EnumDescriptor
func (ImportJob_ImportJobState) EnumDescriptor() ([]byte, []int)Deprecated: Use ImportJob_ImportJobState.Descriptor instead.
func (ImportJob_ImportJobState) Number
func (x ImportJob_ImportJobState) Number() protoreflect.EnumNumberfunc (ImportJob_ImportJobState) String
func (x ImportJob_ImportJobState) String() stringfunc (ImportJob_ImportJobState) Type
func (ImportJob_ImportJobState) Type() protoreflect.EnumTypeImportJob_ImportMethod
type ImportJob_ImportMethod int32[ImportMethod][google.cloud.kms.v1.ImportJob.ImportMethod] describes the key wrapping method chosen for this [ImportJob][google.cloud.kms.v1.ImportJob].
ImportJob_IMPORT_METHOD_UNSPECIFIED, ImportJob_RSA_OAEP_3072_SHA1_AES_256, ImportJob_RSA_OAEP_4096_SHA1_AES_256, ImportJob_RSA_OAEP_3072_SHA256_AES_256, ImportJob_RSA_OAEP_4096_SHA256_AES_256, ImportJob_RSA_OAEP_3072_SHA256, ImportJob_RSA_OAEP_4096_SHA256
const (
// Not specified.
ImportJob_IMPORT_METHOD_UNSPECIFIED ImportJob_ImportMethod = 0
// This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping
// scheme defined in the PKCS #11 standard. In summary, this involves
// wrapping the raw key with an ephemeral AES key, and wrapping the
// ephemeral AES key with a 3072 bit RSA key. For more details, see
// [RSA AES key wrap
// mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
ImportJob_RSA_OAEP_3072_SHA1_AES_256 ImportJob_ImportMethod = 1
// This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping
// scheme defined in the PKCS #11 standard. In summary, this involves
// wrapping the raw key with an ephemeral AES key, and wrapping the
// ephemeral AES key with a 4096 bit RSA key. For more details, see
// [RSA AES key wrap
// mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
ImportJob_RSA_OAEP_4096_SHA1_AES_256 ImportJob_ImportMethod = 2
// This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping
// scheme defined in the PKCS #11 standard. In summary, this involves
// wrapping the raw key with an ephemeral AES key, and wrapping the
// ephemeral AES key with a 3072 bit RSA key. For more details, see
// [RSA AES key wrap
// mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
ImportJob_RSA_OAEP_3072_SHA256_AES_256 ImportJob_ImportMethod = 3
// This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping
// scheme defined in the PKCS #11 standard. In summary, this involves
// wrapping the raw key with an ephemeral AES key, and wrapping the
// ephemeral AES key with a 4096 bit RSA key. For more details, see
// [RSA AES key wrap
// mechanism](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
ImportJob_RSA_OAEP_4096_SHA256_AES_256 ImportJob_ImportMethod = 4
// This ImportMethod represents RSAES-OAEP with a 3072 bit RSA key. The
// key material to be imported is wrapped directly with the RSA key. Due
// to technical limitations of RSA wrapping, this method cannot be used to
// wrap RSA keys for import.
ImportJob_RSA_OAEP_3072_SHA256 ImportJob_ImportMethod = 5
// This ImportMethod represents RSAES-OAEP with a 4096 bit RSA key. The
// key material to be imported is wrapped directly with the RSA key. Due
// to technical limitations of RSA wrapping, this method cannot be used to
// wrap RSA keys for import.
ImportJob_RSA_OAEP_4096_SHA256 ImportJob_ImportMethod = 6
)func (ImportJob_ImportMethod) Descriptor
func (ImportJob_ImportMethod) Descriptor() protoreflect.EnumDescriptorfunc (ImportJob_ImportMethod) Enum
func (x ImportJob_ImportMethod) Enum() *ImportJob_ImportMethodfunc (ImportJob_ImportMethod) EnumDescriptor
func (ImportJob_ImportMethod) EnumDescriptor() ([]byte, []int)Deprecated: Use ImportJob_ImportMethod.Descriptor instead.
func (ImportJob_ImportMethod) Number
func (x ImportJob_ImportMethod) Number() protoreflect.EnumNumberfunc (ImportJob_ImportMethod) String
func (x ImportJob_ImportMethod) String() stringfunc (ImportJob_ImportMethod) Type
func (ImportJob_ImportMethod) Type() protoreflect.EnumTypeImportJob_WrappingPublicKey
type ImportJob_WrappingPublicKey struct {
// The public key, encoded in PEM format. For more information, see the [RFC
// 7468](https://tools.ietf.org/html/rfc7468) sections for [General
// Considerations](https://tools.ietf.org/html/rfc7468#section-2) and
// [Textual Encoding of Subject Public Key Info]
// (https://tools.ietf.org/html/rfc7468#section-13).
Pem string `protobuf:"bytes,1,opt,name=pem,proto3" json:"pem,omitempty"`
// contains filtered or unexported fields
}The public key component of the wrapping key. For details of the type of key this public key corresponds to, see the [ImportMethod][google.cloud.kms.v1.ImportJob.ImportMethod].
func (*ImportJob_WrappingPublicKey) Descriptor
func (*ImportJob_WrappingPublicKey) Descriptor() ([]byte, []int)Deprecated: Use ImportJob_WrappingPublicKey.ProtoReflect.Descriptor instead.
func (*ImportJob_WrappingPublicKey) GetPem
func (x *ImportJob_WrappingPublicKey) GetPem() stringfunc (*ImportJob_WrappingPublicKey) ProtoMessage
func (*ImportJob_WrappingPublicKey) ProtoMessage()func (*ImportJob_WrappingPublicKey) ProtoReflect
func (x *ImportJob_WrappingPublicKey) ProtoReflect() protoreflect.Messagefunc (*ImportJob_WrappingPublicKey) Reset
func (x *ImportJob_WrappingPublicKey) Reset()func (*ImportJob_WrappingPublicKey) String
func (x *ImportJob_WrappingPublicKey) String() stringKeyAccessJustificationsPolicy
type KeyAccessJustificationsPolicy struct {
// The list of allowed reasons for access to a
// [CryptoKey][google.cloud.kms.v1.CryptoKey]. Zero allowed access reasons
// means all encrypt, decrypt, and sign operations for the
// [CryptoKey][google.cloud.kms.v1.CryptoKey] associated with this policy will
// fail.
AllowedAccessReasons []AccessReason `protobuf:"varint,1,rep,packed,name=allowed_access_reasons,json=allowedAccessReasons,proto3,enum=google.cloud.kms.v1.AccessReason" json:"allowed_access_reasons,omitempty"`
// contains filtered or unexported fields
}A [KeyAccessJustificationsPolicy][google.cloud.kms.v1.KeyAccessJustificationsPolicy] specifies zero or more allowed [AccessReason][google.cloud.kms.v1.AccessReason] values for encrypt, decrypt, and sign operations on a [CryptoKey][google.cloud.kms.v1.CryptoKey].
func (*KeyAccessJustificationsPolicy) Descriptor
func (*KeyAccessJustificationsPolicy) Descriptor() ([]byte, []int)Deprecated: Use KeyAccessJustificationsPolicy.ProtoReflect.Descriptor instead.
func (*KeyAccessJustificationsPolicy) GetAllowedAccessReasons
func (x *KeyAccessJustificationsPolicy) GetAllowedAccessReasons() []AccessReasonfunc (*KeyAccessJustificationsPolicy) ProtoMessage
func (*KeyAccessJustificationsPolicy) ProtoMessage()func (*KeyAccessJustificationsPolicy) ProtoReflect
func (x *KeyAccessJustificationsPolicy) ProtoReflect() protoreflect.Messagefunc (*KeyAccessJustificationsPolicy) Reset
func (x *KeyAccessJustificationsPolicy) Reset()func (*KeyAccessJustificationsPolicy) String
func (x *KeyAccessJustificationsPolicy) String() stringKeyHandle
type KeyHandle struct {
// Identifier. Name of the [KeyHandle][google.cloud.kms.v1.KeyHandle]
// resource, e.g.
// `projects/{PROJECT_ID}/locations/{LOCATION}/keyHandles/{KEY_HANDLE_ID}`.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Output only. Name of a [CryptoKey][google.cloud.kms.v1.CryptoKey] that has
// been provisioned for Customer Managed Encryption Key (CMEK) use in the
// [KeyHandle][google.cloud.kms.v1.KeyHandle] project and location for the
// requested resource type. The [CryptoKey][google.cloud.kms.v1.CryptoKey]
// project will reflect the value configured in the
// [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig] on the resource
// project's ancestor folder at the time of the
// [KeyHandle][google.cloud.kms.v1.KeyHandle] creation. If more than one
// ancestor folder has a configured
// [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig], the nearest of these
// configurations is used.
KmsKey string `protobuf:"bytes,3,opt,name=kms_key,json=kmsKey,proto3" json:"kms_key,omitempty"`
// Required. Indicates the resource type that the resulting
// [CryptoKey][google.cloud.kms.v1.CryptoKey] is meant to protect, e.g.
// `{SERVICE}.googleapis.com/{TYPE}`. See documentation for supported resource
// types.
ResourceTypeSelector string `protobuf:"bytes,4,opt,name=resource_type_selector,json=resourceTypeSelector,proto3" json:"resource_type_selector,omitempty"`
// contains filtered or unexported fields
}Resource-oriented representation of a request to Cloud KMS Autokey and the resulting provisioning of a [CryptoKey][google.cloud.kms.v1.CryptoKey].
func (*KeyHandle) Descriptor
Deprecated: Use KeyHandle.ProtoReflect.Descriptor instead.
func (*KeyHandle) GetKmsKey
func (*KeyHandle) GetName
func (*KeyHandle) GetResourceTypeSelector
func (*KeyHandle) ProtoMessage
func (*KeyHandle) ProtoMessage()func (*KeyHandle) ProtoReflect
func (x *KeyHandle) ProtoReflect() protoreflect.Messagefunc (*KeyHandle) Reset
func (x *KeyHandle) Reset()func (*KeyHandle) String
KeyManagementServiceClient
type KeyManagementServiceClient interface {
// Lists [KeyRings][google.cloud.kms.v1.KeyRing].
ListKeyRings(ctx context.Context, in *ListKeyRingsRequest, opts ...grpc.CallOption) (*ListKeyRingsResponse, error)
// Lists [CryptoKeys][google.cloud.kms.v1.CryptoKey].
ListCryptoKeys(ctx context.Context, in *ListCryptoKeysRequest, opts ...grpc.CallOption) (*ListCryptoKeysResponse, error)
// Lists [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion].
ListCryptoKeyVersions(ctx context.Context, in *ListCryptoKeyVersionsRequest, opts ...grpc.CallOption) (*ListCryptoKeyVersionsResponse, error)
// Lists [ImportJobs][google.cloud.kms.v1.ImportJob].
ListImportJobs(ctx context.Context, in *ListImportJobsRequest, opts ...grpc.CallOption) (*ListImportJobsResponse, error)
// Returns metadata for a given [KeyRing][google.cloud.kms.v1.KeyRing].
GetKeyRing(ctx context.Context, in *GetKeyRingRequest, opts ...grpc.CallOption) (*KeyRing, error)
// Returns metadata for a given [CryptoKey][google.cloud.kms.v1.CryptoKey], as
// well as its [primary][google.cloud.kms.v1.CryptoKey.primary]
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
GetCryptoKey(ctx context.Context, in *GetCryptoKeyRequest, opts ...grpc.CallOption) (*CryptoKey, error)
// Returns metadata for a given
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
GetCryptoKeyVersion(ctx context.Context, in *GetCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error)
// Returns the public key for the given
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. The
// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
// [ASYMMETRIC_SIGN][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_SIGN]
// or
// [ASYMMETRIC_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_DECRYPT].
GetPublicKey(ctx context.Context, in *GetPublicKeyRequest, opts ...grpc.CallOption) (*PublicKey, error)
// Returns metadata for a given [ImportJob][google.cloud.kms.v1.ImportJob].
GetImportJob(ctx context.Context, in *GetImportJobRequest, opts ...grpc.CallOption) (*ImportJob, error)
// Create a new [KeyRing][google.cloud.kms.v1.KeyRing] in a given Project and
// Location.
CreateKeyRing(ctx context.Context, in *CreateKeyRingRequest, opts ...grpc.CallOption) (*KeyRing, error)
// Create a new [CryptoKey][google.cloud.kms.v1.CryptoKey] within a
// [KeyRing][google.cloud.kms.v1.KeyRing].
//
// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] and
// [CryptoKey.version_template.algorithm][google.cloud.kms.v1.CryptoKeyVersionTemplate.algorithm]
// are required.
CreateCryptoKey(ctx context.Context, in *CreateCryptoKeyRequest, opts ...grpc.CallOption) (*CryptoKey, error)
// Create a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in a
// [CryptoKey][google.cloud.kms.v1.CryptoKey].
//
// The server will assign the next sequential id. If unset,
// [state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to
// [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED].
CreateCryptoKeyVersion(ctx context.Context, in *CreateCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error)
// Import wrapped key material into a
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
//
// All requests must specify a [CryptoKey][google.cloud.kms.v1.CryptoKey]. If
// a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] is additionally
// specified in the request, key material will be reimported into that
// version. Otherwise, a new version will be created, and will be assigned the
// next sequential id within the [CryptoKey][google.cloud.kms.v1.CryptoKey].
ImportCryptoKeyVersion(ctx context.Context, in *ImportCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error)
// Create a new [ImportJob][google.cloud.kms.v1.ImportJob] within a
// [KeyRing][google.cloud.kms.v1.KeyRing].
//
// [ImportJob.import_method][google.cloud.kms.v1.ImportJob.import_method] is
// required.
CreateImportJob(ctx context.Context, in *CreateImportJobRequest, opts ...grpc.CallOption) (*ImportJob, error)
// Update a [CryptoKey][google.cloud.kms.v1.CryptoKey].
UpdateCryptoKey(ctx context.Context, in *UpdateCryptoKeyRequest, opts ...grpc.CallOption) (*CryptoKey, error)
// Update a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s
// metadata.
//
// [state][google.cloud.kms.v1.CryptoKeyVersion.state] may be changed between
// [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED]
// and
// [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED]
// using this method. See
// [DestroyCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion]
// and
// [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion]
// to move between other states.
UpdateCryptoKeyVersion(ctx context.Context, in *UpdateCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error)
// Update the version of a [CryptoKey][google.cloud.kms.v1.CryptoKey] that
// will be used in
// [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt].
//
// Returns an error if called on a key whose purpose is not
// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
UpdateCryptoKeyPrimaryVersion(ctx context.Context, in *UpdateCryptoKeyPrimaryVersionRequest, opts ...grpc.CallOption) (*CryptoKey, error)
// Schedule a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] for
// destruction.
//
// Upon calling this method,
// [CryptoKeyVersion.state][google.cloud.kms.v1.CryptoKeyVersion.state] will
// be set to
// [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED],
// and [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will
// be set to the time
// [destroy_scheduled_duration][google.cloud.kms.v1.CryptoKey.destroy_scheduled_duration]
// in the future. At that time, the
// [state][google.cloud.kms.v1.CryptoKeyVersion.state] will automatically
// change to
// [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED],
// and the key material will be irrevocably destroyed.
//
// Before the
// [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] is
// reached,
// [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion]
// may be called to reverse the process.
DestroyCryptoKeyVersion(ctx context.Context, in *DestroyCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error)
// Restore a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in the
// [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED]
// state.
//
// Upon restoration of the CryptoKeyVersion,
// [state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to
// [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED],
// and [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will
// be cleared.
RestoreCryptoKeyVersion(ctx context.Context, in *RestoreCryptoKeyVersionRequest, opts ...grpc.CallOption) (*CryptoKeyVersion, error)
// Encrypts data, so that it can only be recovered by a call to
// [Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt]. The
// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
Encrypt(ctx context.Context, in *EncryptRequest, opts ...grpc.CallOption) (*EncryptResponse, error)
// Decrypts data that was protected by
// [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt]. The
// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
Decrypt(ctx context.Context, in *DecryptRequest, opts ...grpc.CallOption) (*DecryptResponse, error)
// Encrypts data using portable cryptographic primitives. Most users should
// choose [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt] and
// [Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt] rather than
// their raw counterparts. The
// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
// [RAW_ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.RAW_ENCRYPT_DECRYPT].
RawEncrypt(ctx context.Context, in *RawEncryptRequest, opts ...grpc.CallOption) (*RawEncryptResponse, error)
// Decrypts data that was originally encrypted using a raw cryptographic
// mechanism. The [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
// must be
// [RAW_ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.RAW_ENCRYPT_DECRYPT].
RawDecrypt(ctx context.Context, in *RawDecryptRequest, opts ...grpc.CallOption) (*RawDecryptResponse, error)
// Signs data using a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]
// with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
// ASYMMETRIC_SIGN, producing a signature that can be verified with the public
// key retrieved from
// [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey].
AsymmetricSign(ctx context.Context, in *AsymmetricSignRequest, opts ...grpc.CallOption) (*AsymmetricSignResponse, error)
// Decrypts data that was encrypted with a public key retrieved from
// [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey]
// corresponding to a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]
// with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
// ASYMMETRIC_DECRYPT.
AsymmetricDecrypt(ctx context.Context, in *AsymmetricDecryptRequest, opts ...grpc.CallOption) (*AsymmetricDecryptResponse, error)
// Signs data using a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]
// with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] MAC,
// producing a tag that can be verified by another source with the same key.
MacSign(ctx context.Context, in *MacSignRequest, opts ...grpc.CallOption) (*MacSignResponse, error)
// Verifies MAC tag using a
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with
// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] MAC, and returns
// a response that indicates whether or not the verification was successful.
MacVerify(ctx context.Context, in *MacVerifyRequest, opts ...grpc.CallOption) (*MacVerifyResponse, error)
// Decapsulates data that was encapsulated with a public key retrieved from
// [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey]
// corresponding to a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]
// with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
// KEY_ENCAPSULATION.
Decapsulate(ctx context.Context, in *DecapsulateRequest, opts ...grpc.CallOption) (*DecapsulateResponse, error)
// Generate random bytes using the Cloud KMS randomness source in the provided
// location.
GenerateRandomBytes(ctx context.Context, in *GenerateRandomBytesRequest, opts ...grpc.CallOption) (*GenerateRandomBytesResponse, error)
}KeyManagementServiceClient is the client API for KeyManagementService service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
func NewKeyManagementServiceClient
func NewKeyManagementServiceClient(cc grpc.ClientConnInterface) KeyManagementServiceClientKeyManagementServiceServer
type KeyManagementServiceServer interface {
// Lists [KeyRings][google.cloud.kms.v1.KeyRing].
ListKeyRings(context.Context, *ListKeyRingsRequest) (*ListKeyRingsResponse, error)
// Lists [CryptoKeys][google.cloud.kms.v1.CryptoKey].
ListCryptoKeys(context.Context, *ListCryptoKeysRequest) (*ListCryptoKeysResponse, error)
// Lists [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion].
ListCryptoKeyVersions(context.Context, *ListCryptoKeyVersionsRequest) (*ListCryptoKeyVersionsResponse, error)
// Lists [ImportJobs][google.cloud.kms.v1.ImportJob].
ListImportJobs(context.Context, *ListImportJobsRequest) (*ListImportJobsResponse, error)
// Returns metadata for a given [KeyRing][google.cloud.kms.v1.KeyRing].
GetKeyRing(context.Context, *GetKeyRingRequest) (*KeyRing, error)
// Returns metadata for a given [CryptoKey][google.cloud.kms.v1.CryptoKey], as
// well as its [primary][google.cloud.kms.v1.CryptoKey.primary]
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
GetCryptoKey(context.Context, *GetCryptoKeyRequest) (*CryptoKey, error)
// Returns metadata for a given
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
GetCryptoKeyVersion(context.Context, *GetCryptoKeyVersionRequest) (*CryptoKeyVersion, error)
// Returns the public key for the given
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. The
// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
// [ASYMMETRIC_SIGN][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_SIGN]
// or
// [ASYMMETRIC_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_DECRYPT].
GetPublicKey(context.Context, *GetPublicKeyRequest) (*PublicKey, error)
// Returns metadata for a given [ImportJob][google.cloud.kms.v1.ImportJob].
GetImportJob(context.Context, *GetImportJobRequest) (*ImportJob, error)
// Create a new [KeyRing][google.cloud.kms.v1.KeyRing] in a given Project and
// Location.
CreateKeyRing(context.Context, *CreateKeyRingRequest) (*KeyRing, error)
// Create a new [CryptoKey][google.cloud.kms.v1.CryptoKey] within a
// [KeyRing][google.cloud.kms.v1.KeyRing].
//
// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] and
// [CryptoKey.version_template.algorithm][google.cloud.kms.v1.CryptoKeyVersionTemplate.algorithm]
// are required.
CreateCryptoKey(context.Context, *CreateCryptoKeyRequest) (*CryptoKey, error)
// Create a new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in a
// [CryptoKey][google.cloud.kms.v1.CryptoKey].
//
// The server will assign the next sequential id. If unset,
// [state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to
// [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED].
CreateCryptoKeyVersion(context.Context, *CreateCryptoKeyVersionRequest) (*CryptoKeyVersion, error)
// Import wrapped key material into a
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion].
//
// All requests must specify a [CryptoKey][google.cloud.kms.v1.CryptoKey]. If
// a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] is additionally
// specified in the request, key material will be reimported into that
// version. Otherwise, a new version will be created, and will be assigned the
// next sequential id within the [CryptoKey][google.cloud.kms.v1.CryptoKey].
ImportCryptoKeyVersion(context.Context, *ImportCryptoKeyVersionRequest) (*CryptoKeyVersion, error)
// Create a new [ImportJob][google.cloud.kms.v1.ImportJob] within a
// [KeyRing][google.cloud.kms.v1.KeyRing].
//
// [ImportJob.import_method][google.cloud.kms.v1.ImportJob.import_method] is
// required.
CreateImportJob(context.Context, *CreateImportJobRequest) (*ImportJob, error)
// Update a [CryptoKey][google.cloud.kms.v1.CryptoKey].
UpdateCryptoKey(context.Context, *UpdateCryptoKeyRequest) (*CryptoKey, error)
// Update a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]'s
// metadata.
//
// [state][google.cloud.kms.v1.CryptoKeyVersion.state] may be changed between
// [ENABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.ENABLED]
// and
// [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED]
// using this method. See
// [DestroyCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.DestroyCryptoKeyVersion]
// and
// [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion]
// to move between other states.
UpdateCryptoKeyVersion(context.Context, *UpdateCryptoKeyVersionRequest) (*CryptoKeyVersion, error)
// Update the version of a [CryptoKey][google.cloud.kms.v1.CryptoKey] that
// will be used in
// [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt].
//
// Returns an error if called on a key whose purpose is not
// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
UpdateCryptoKeyPrimaryVersion(context.Context, *UpdateCryptoKeyPrimaryVersionRequest) (*CryptoKey, error)
// Schedule a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] for
// destruction.
//
// Upon calling this method,
// [CryptoKeyVersion.state][google.cloud.kms.v1.CryptoKeyVersion.state] will
// be set to
// [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED],
// and [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will
// be set to the time
// [destroy_scheduled_duration][google.cloud.kms.v1.CryptoKey.destroy_scheduled_duration]
// in the future. At that time, the
// [state][google.cloud.kms.v1.CryptoKeyVersion.state] will automatically
// change to
// [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED],
// and the key material will be irrevocably destroyed.
//
// Before the
// [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] is
// reached,
// [RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion]
// may be called to reverse the process.
DestroyCryptoKeyVersion(context.Context, *DestroyCryptoKeyVersionRequest) (*CryptoKeyVersion, error)
// Restore a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] in the
// [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED]
// state.
//
// Upon restoration of the CryptoKeyVersion,
// [state][google.cloud.kms.v1.CryptoKeyVersion.state] will be set to
// [DISABLED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DISABLED],
// and [destroy_time][google.cloud.kms.v1.CryptoKeyVersion.destroy_time] will
// be cleared.
RestoreCryptoKeyVersion(context.Context, *RestoreCryptoKeyVersionRequest) (*CryptoKeyVersion, error)
// Encrypts data, so that it can only be recovered by a call to
// [Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt]. The
// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
Encrypt(context.Context, *EncryptRequest) (*EncryptResponse, error)
// Decrypts data that was protected by
// [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt]. The
// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
// [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
Decrypt(context.Context, *DecryptRequest) (*DecryptResponse, error)
// Encrypts data using portable cryptographic primitives. Most users should
// choose [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt] and
// [Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt] rather than
// their raw counterparts. The
// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] must be
// [RAW_ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.RAW_ENCRYPT_DECRYPT].
RawEncrypt(context.Context, *RawEncryptRequest) (*RawEncryptResponse, error)
// Decrypts data that was originally encrypted using a raw cryptographic
// mechanism. The [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
// must be
// [RAW_ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.RAW_ENCRYPT_DECRYPT].
RawDecrypt(context.Context, *RawDecryptRequest) (*RawDecryptResponse, error)
// Signs data using a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]
// with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
// ASYMMETRIC_SIGN, producing a signature that can be verified with the public
// key retrieved from
// [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey].
AsymmetricSign(context.Context, *AsymmetricSignRequest) (*AsymmetricSignResponse, error)
// Decrypts data that was encrypted with a public key retrieved from
// [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey]
// corresponding to a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]
// with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
// ASYMMETRIC_DECRYPT.
AsymmetricDecrypt(context.Context, *AsymmetricDecryptRequest) (*AsymmetricDecryptResponse, error)
// Signs data using a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]
// with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] MAC,
// producing a tag that can be verified by another source with the same key.
MacSign(context.Context, *MacSignRequest) (*MacSignResponse, error)
// Verifies MAC tag using a
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with
// [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] MAC, and returns
// a response that indicates whether or not the verification was successful.
MacVerify(context.Context, *MacVerifyRequest) (*MacVerifyResponse, error)
// Decapsulates data that was encapsulated with a public key retrieved from
// [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey]
// corresponding to a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]
// with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose]
// KEY_ENCAPSULATION.
Decapsulate(context.Context, *DecapsulateRequest) (*DecapsulateResponse, error)
// Generate random bytes using the Cloud KMS randomness source in the provided
// location.
GenerateRandomBytes(context.Context, *GenerateRandomBytesRequest) (*GenerateRandomBytesResponse, error)
}KeyManagementServiceServer is the server API for KeyManagementService service. All implementations should embed UnimplementedKeyManagementServiceServer for forward compatibility
KeyOperationAttestation
type KeyOperationAttestation struct {
// Output only. The format of the attestation data.
Format KeyOperationAttestation_AttestationFormat `protobuf:"varint,4,opt,name=format,proto3,enum=google.cloud.kms.v1.KeyOperationAttestation_AttestationFormat" json:"format,omitempty"`
// Output only. The attestation data provided by the HSM when the key
// operation was performed.
Content []byte `protobuf:"bytes,5,opt,name=content,proto3" json:"content,omitempty"`
// Output only. The certificate chains needed to validate the attestation
CertChains *KeyOperationAttestation_CertificateChains `protobuf:"bytes,6,opt,name=cert_chains,json=certChains,proto3" json:"cert_chains,omitempty"`
// contains filtered or unexported fields
}Contains an HSM-generated attestation about a key operation. For more information, see Verifying attestations.
func (*KeyOperationAttestation) Descriptor
func (*KeyOperationAttestation) Descriptor() ([]byte, []int)Deprecated: Use KeyOperationAttestation.ProtoReflect.Descriptor instead.
func (*KeyOperationAttestation) GetCertChains
func (x *KeyOperationAttestation) GetCertChains() *KeyOperationAttestation_CertificateChainsfunc (*KeyOperationAttestation) GetContent
func (x *KeyOperationAttestation) GetContent() []bytefunc (*KeyOperationAttestation) GetFormat
func (x *KeyOperationAttestation) GetFormat() KeyOperationAttestation_AttestationFormatfunc (*KeyOperationAttestation) ProtoMessage
func (*KeyOperationAttestation) ProtoMessage()func (*KeyOperationAttestation) ProtoReflect
func (x *KeyOperationAttestation) ProtoReflect() protoreflect.Messagefunc (*KeyOperationAttestation) Reset
func (x *KeyOperationAttestation) Reset()func (*KeyOperationAttestation) String
func (x *KeyOperationAttestation) String() stringKeyOperationAttestation_AttestationFormat
type KeyOperationAttestation_AttestationFormat int32Attestation formats provided by the HSM.
KeyOperationAttestation_ATTESTATION_FORMAT_UNSPECIFIED, KeyOperationAttestation_CAVIUM_V1_COMPRESSED, KeyOperationAttestation_CAVIUM_V2_COMPRESSED
const (
// Not specified.
KeyOperationAttestation_ATTESTATION_FORMAT_UNSPECIFIED KeyOperationAttestation_AttestationFormat = 0
// Cavium HSM attestation compressed with gzip. Note that this format is
// defined by Cavium and subject to change at any time.
//
// See
// https://www.marvell.com/products/security-solutions/nitrox-hs-adapters/software-key-attestation.html.
KeyOperationAttestation_CAVIUM_V1_COMPRESSED KeyOperationAttestation_AttestationFormat = 3
// Cavium HSM attestation V2 compressed with gzip. This is a new format
// introduced in Cavium's version 3.2-08.
KeyOperationAttestation_CAVIUM_V2_COMPRESSED KeyOperationAttestation_AttestationFormat = 4
)func (KeyOperationAttestation_AttestationFormat) Descriptor
func (KeyOperationAttestation_AttestationFormat) Descriptor() protoreflect.EnumDescriptorfunc (KeyOperationAttestation_AttestationFormat) Enum
func (x KeyOperationAttestation_AttestationFormat) Enum() *KeyOperationAttestation_AttestationFormatfunc (KeyOperationAttestation_AttestationFormat) EnumDescriptor
func (KeyOperationAttestation_AttestationFormat) EnumDescriptor() ([]byte, []int)Deprecated: Use KeyOperationAttestation_AttestationFormat.Descriptor instead.
func (KeyOperationAttestation_AttestationFormat) Number
func (x KeyOperationAttestation_AttestationFormat) Number() protoreflect.EnumNumberfunc (KeyOperationAttestation_AttestationFormat) String
func (x KeyOperationAttestation_AttestationFormat) String() stringfunc (KeyOperationAttestation_AttestationFormat) Type
func (KeyOperationAttestation_AttestationFormat) Type() protoreflect.EnumTypeKeyOperationAttestation_CertificateChains
type KeyOperationAttestation_CertificateChains struct {
// Cavium certificate chain corresponding to the attestation.
CaviumCerts []string `protobuf:"bytes,1,rep,name=cavium_certs,json=caviumCerts,proto3" json:"cavium_certs,omitempty"`
// Google card certificate chain corresponding to the attestation.
GoogleCardCerts []string `protobuf:"bytes,2,rep,name=google_card_certs,json=googleCardCerts,proto3" json:"google_card_certs,omitempty"`
// Google partition certificate chain corresponding to the attestation.
GooglePartitionCerts []string `protobuf:"bytes,3,rep,name=google_partition_certs,json=googlePartitionCerts,proto3" json:"google_partition_certs,omitempty"`
// contains filtered or unexported fields
}Certificate chains needed to verify the attestation. Certificates in chains are PEM-encoded and are ordered based on https://tools.ietf.org/html/rfc5246#section-7.4.2.
func (*KeyOperationAttestation_CertificateChains) Descriptor
func (*KeyOperationAttestation_CertificateChains) Descriptor() ([]byte, []int)Deprecated: Use KeyOperationAttestation_CertificateChains.ProtoReflect.Descriptor instead.
func (*KeyOperationAttestation_CertificateChains) GetCaviumCerts
func (x *KeyOperationAttestation_CertificateChains) GetCaviumCerts() []stringfunc (*KeyOperationAttestation_CertificateChains) GetGoogleCardCerts
func (x *KeyOperationAttestation_CertificateChains) GetGoogleCardCerts() []stringfunc (*KeyOperationAttestation_CertificateChains) GetGooglePartitionCerts
func (x *KeyOperationAttestation_CertificateChains) GetGooglePartitionCerts() []stringfunc (*KeyOperationAttestation_CertificateChains) ProtoMessage
func (*KeyOperationAttestation_CertificateChains) ProtoMessage()func (*KeyOperationAttestation_CertificateChains) ProtoReflect
func (x *KeyOperationAttestation_CertificateChains) ProtoReflect() protoreflect.Messagefunc (*KeyOperationAttestation_CertificateChains) Reset
func (x *KeyOperationAttestation_CertificateChains) Reset()func (*KeyOperationAttestation_CertificateChains) String
func (x *KeyOperationAttestation_CertificateChains) String() stringKeyRing
type KeyRing struct {
// Output only. The resource name for the
// [KeyRing][google.cloud.kms.v1.KeyRing] in the format
// `projects/*/locations/*/keyRings/*`.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Output only. The time at which this [KeyRing][google.cloud.kms.v1.KeyRing]
// was created.
CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
// contains filtered or unexported fields
}A [KeyRing][google.cloud.kms.v1.KeyRing] is a toplevel logical grouping of [CryptoKeys][google.cloud.kms.v1.CryptoKey].
func (*KeyRing) Descriptor
Deprecated: Use KeyRing.ProtoReflect.Descriptor instead.
func (*KeyRing) GetCreateTime
func (x *KeyRing) GetCreateTime() *timestamppb.Timestampfunc (*KeyRing) GetName
func (*KeyRing) ProtoMessage
func (*KeyRing) ProtoMessage()func (*KeyRing) ProtoReflect
func (x *KeyRing) ProtoReflect() protoreflect.Messagefunc (*KeyRing) Reset
func (x *KeyRing) Reset()func (*KeyRing) String
ListCryptoKeyVersionsRequest
type ListCryptoKeyVersionsRequest struct {
// Required. The resource name of the
// [CryptoKey][google.cloud.kms.v1.CryptoKey] to list, in the format
// `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Optional. Optional limit on the number of
// [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] to include in the
// response. Further [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion]
// can subsequently be obtained by including the
// [ListCryptoKeyVersionsResponse.next_page_token][google.cloud.kms.v1.ListCryptoKeyVersionsResponse.next_page_token]
// in a subsequent request. If unspecified, the server will pick an
// appropriate default.
PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// Optional. Optional pagination token, returned earlier via
// [ListCryptoKeyVersionsResponse.next_page_token][google.cloud.kms.v1.ListCryptoKeyVersionsResponse.next_page_token].
PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
// The fields to include in the response.
View CryptoKeyVersion_CryptoKeyVersionView `protobuf:"varint,4,opt,name=view,proto3,enum=google.cloud.kms.v1.CryptoKeyVersion_CryptoKeyVersionView" json:"view,omitempty"`
// Optional. Only include resources that match the filter in the response. For
// more information, see
// [Sorting and filtering list
// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
Filter string `protobuf:"bytes,5,opt,name=filter,proto3" json:"filter,omitempty"`
// Optional. Specify how the results should be sorted. If not specified, the
// results will be sorted in the default order. For more information, see
// [Sorting and filtering list
// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
// contains filtered or unexported fields
}Request message for [KeyManagementService.ListCryptoKeyVersions][google.cloud.kms.v1.KeyManagementService.ListCryptoKeyVersions].
func (*ListCryptoKeyVersionsRequest) Descriptor
func (*ListCryptoKeyVersionsRequest) Descriptor() ([]byte, []int)Deprecated: Use ListCryptoKeyVersionsRequest.ProtoReflect.Descriptor instead.
func (*ListCryptoKeyVersionsRequest) GetFilter
func (x *ListCryptoKeyVersionsRequest) GetFilter() stringfunc (*ListCryptoKeyVersionsRequest) GetOrderBy
func (x *ListCryptoKeyVersionsRequest) GetOrderBy() stringfunc (*ListCryptoKeyVersionsRequest) GetPageSize
func (x *ListCryptoKeyVersionsRequest) GetPageSize() int32func (*ListCryptoKeyVersionsRequest) GetPageToken
func (x *ListCryptoKeyVersionsRequest) GetPageToken() stringfunc (*ListCryptoKeyVersionsRequest) GetParent
func (x *ListCryptoKeyVersionsRequest) GetParent() stringfunc (*ListCryptoKeyVersionsRequest) GetView
func (x *ListCryptoKeyVersionsRequest) GetView() CryptoKeyVersion_CryptoKeyVersionViewfunc (*ListCryptoKeyVersionsRequest) ProtoMessage
func (*ListCryptoKeyVersionsRequest) ProtoMessage()func (*ListCryptoKeyVersionsRequest) ProtoReflect
func (x *ListCryptoKeyVersionsRequest) ProtoReflect() protoreflect.Messagefunc (*ListCryptoKeyVersionsRequest) Reset
func (x *ListCryptoKeyVersionsRequest) Reset()func (*ListCryptoKeyVersionsRequest) String
func (x *ListCryptoKeyVersionsRequest) String() stringListCryptoKeyVersionsResponse
type ListCryptoKeyVersionsResponse struct {
// The list of [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion].
CryptoKeyVersions []*CryptoKeyVersion `protobuf:"bytes,1,rep,name=crypto_key_versions,json=cryptoKeyVersions,proto3" json:"crypto_key_versions,omitempty"`
// A token to retrieve next page of results. Pass this value in
// [ListCryptoKeyVersionsRequest.page_token][google.cloud.kms.v1.ListCryptoKeyVersionsRequest.page_token]
// to retrieve the next page of results.
NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
// The total number of
// [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] that matched the
// query.
//
// This field is not populated if
// [ListCryptoKeyVersionsRequest.filter][google.cloud.kms.v1.ListCryptoKeyVersionsRequest.filter]
// is applied.
TotalSize int32 `protobuf:"varint,3,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"`
// contains filtered or unexported fields
}Response message for [KeyManagementService.ListCryptoKeyVersions][google.cloud.kms.v1.KeyManagementService.ListCryptoKeyVersions].
func (*ListCryptoKeyVersionsResponse) Descriptor
func (*ListCryptoKeyVersionsResponse) Descriptor() ([]byte, []int)Deprecated: Use ListCryptoKeyVersionsResponse.ProtoReflect.Descriptor instead.
func (*ListCryptoKeyVersionsResponse) GetCryptoKeyVersions
func (x *ListCryptoKeyVersionsResponse) GetCryptoKeyVersions() []*CryptoKeyVersionfunc (*ListCryptoKeyVersionsResponse) GetNextPageToken
func (x *ListCryptoKeyVersionsResponse) GetNextPageToken() stringfunc (*ListCryptoKeyVersionsResponse) GetTotalSize
func (x *ListCryptoKeyVersionsResponse) GetTotalSize() int32func (*ListCryptoKeyVersionsResponse) ProtoMessage
func (*ListCryptoKeyVersionsResponse) ProtoMessage()func (*ListCryptoKeyVersionsResponse) ProtoReflect
func (x *ListCryptoKeyVersionsResponse) ProtoReflect() protoreflect.Messagefunc (*ListCryptoKeyVersionsResponse) Reset
func (x *ListCryptoKeyVersionsResponse) Reset()func (*ListCryptoKeyVersionsResponse) String
func (x *ListCryptoKeyVersionsResponse) String() stringListCryptoKeysRequest
type ListCryptoKeysRequest struct {
// Required. The resource name of the [KeyRing][google.cloud.kms.v1.KeyRing]
// to list, in the format `projects/*/locations/*/keyRings/*`.
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Optional. Optional limit on the number of
// [CryptoKeys][google.cloud.kms.v1.CryptoKey] to include in the response.
// Further [CryptoKeys][google.cloud.kms.v1.CryptoKey] can subsequently be
// obtained by including the
// [ListCryptoKeysResponse.next_page_token][google.cloud.kms.v1.ListCryptoKeysResponse.next_page_token]
// in a subsequent request. If unspecified, the server will pick an
// appropriate default.
PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// Optional. Optional pagination token, returned earlier via
// [ListCryptoKeysResponse.next_page_token][google.cloud.kms.v1.ListCryptoKeysResponse.next_page_token].
PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
// The fields of the primary version to include in the response.
VersionView CryptoKeyVersion_CryptoKeyVersionView `protobuf:"varint,4,opt,name=version_view,json=versionView,proto3,enum=google.cloud.kms.v1.CryptoKeyVersion_CryptoKeyVersionView" json:"version_view,omitempty"`
// Optional. Only include resources that match the filter in the response. For
// more information, see
// [Sorting and filtering list
// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
Filter string `protobuf:"bytes,5,opt,name=filter,proto3" json:"filter,omitempty"`
// Optional. Specify how the results should be sorted. If not specified, the
// results will be sorted in the default order. For more information, see
// [Sorting and filtering list
// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
// contains filtered or unexported fields
}Request message for [KeyManagementService.ListCryptoKeys][google.cloud.kms.v1.KeyManagementService.ListCryptoKeys].
func (*ListCryptoKeysRequest) Descriptor
func (*ListCryptoKeysRequest) Descriptor() ([]byte, []int)Deprecated: Use ListCryptoKeysRequest.ProtoReflect.Descriptor instead.
func (*ListCryptoKeysRequest) GetFilter
func (x *ListCryptoKeysRequest) GetFilter() stringfunc (*ListCryptoKeysRequest) GetOrderBy
func (x *ListCryptoKeysRequest) GetOrderBy() stringfunc (*ListCryptoKeysRequest) GetPageSize
func (x *ListCryptoKeysRequest) GetPageSize() int32func (*ListCryptoKeysRequest) GetPageToken
func (x *ListCryptoKeysRequest) GetPageToken() stringfunc (*ListCryptoKeysRequest) GetParent
func (x *ListCryptoKeysRequest) GetParent() stringfunc (*ListCryptoKeysRequest) GetVersionView
func (x *ListCryptoKeysRequest) GetVersionView() CryptoKeyVersion_CryptoKeyVersionViewfunc (*ListCryptoKeysRequest) ProtoMessage
func (*ListCryptoKeysRequest) ProtoMessage()func (*ListCryptoKeysRequest) ProtoReflect
func (x *ListCryptoKeysRequest) ProtoReflect() protoreflect.Messagefunc (*ListCryptoKeysRequest) Reset
func (x *ListCryptoKeysRequest) Reset()func (*ListCryptoKeysRequest) String
func (x *ListCryptoKeysRequest) String() stringListCryptoKeysResponse
type ListCryptoKeysResponse struct {
// The list of [CryptoKeys][google.cloud.kms.v1.CryptoKey].
CryptoKeys []*CryptoKey `protobuf:"bytes,1,rep,name=crypto_keys,json=cryptoKeys,proto3" json:"crypto_keys,omitempty"`
// A token to retrieve next page of results. Pass this value in
// [ListCryptoKeysRequest.page_token][google.cloud.kms.v1.ListCryptoKeysRequest.page_token]
// to retrieve the next page of results.
NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
// The total number of [CryptoKeys][google.cloud.kms.v1.CryptoKey] that
// matched the query.
//
// This field is not populated if
// [ListCryptoKeysRequest.filter][google.cloud.kms.v1.ListCryptoKeysRequest.filter]
// is applied.
TotalSize int32 `protobuf:"varint,3,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"`
// contains filtered or unexported fields
}Response message for [KeyManagementService.ListCryptoKeys][google.cloud.kms.v1.KeyManagementService.ListCryptoKeys].
func (*ListCryptoKeysResponse) Descriptor
func (*ListCryptoKeysResponse) Descriptor() ([]byte, []int)Deprecated: Use ListCryptoKeysResponse.ProtoReflect.Descriptor instead.
func (*ListCryptoKeysResponse) GetCryptoKeys
func (x *ListCryptoKeysResponse) GetCryptoKeys() []*CryptoKeyfunc (*ListCryptoKeysResponse) GetNextPageToken
func (x *ListCryptoKeysResponse) GetNextPageToken() stringfunc (*ListCryptoKeysResponse) GetTotalSize
func (x *ListCryptoKeysResponse) GetTotalSize() int32func (*ListCryptoKeysResponse) ProtoMessage
func (*ListCryptoKeysResponse) ProtoMessage()func (*ListCryptoKeysResponse) ProtoReflect
func (x *ListCryptoKeysResponse) ProtoReflect() protoreflect.Messagefunc (*ListCryptoKeysResponse) Reset
func (x *ListCryptoKeysResponse) Reset()func (*ListCryptoKeysResponse) String
func (x *ListCryptoKeysResponse) String() stringListEkmConnectionsRequest
type ListEkmConnectionsRequest struct {
// Required. The resource name of the location associated with the
// [EkmConnections][google.cloud.kms.v1.EkmConnection] to list, in the format
// `projects/*/locations/*`.
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Optional. Optional limit on the number of
// [EkmConnections][google.cloud.kms.v1.EkmConnection] to include in the
// response. Further [EkmConnections][google.cloud.kms.v1.EkmConnection] can
// subsequently be obtained by including the
// [ListEkmConnectionsResponse.next_page_token][google.cloud.kms.v1.ListEkmConnectionsResponse.next_page_token]
// in a subsequent request. If unspecified, the server will pick an
// appropriate default.
PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// Optional. Optional pagination token, returned earlier via
// [ListEkmConnectionsResponse.next_page_token][google.cloud.kms.v1.ListEkmConnectionsResponse.next_page_token].
PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
// Optional. Only include resources that match the filter in the response. For
// more information, see
// [Sorting and filtering list
// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
// Optional. Specify how the results should be sorted. If not specified, the
// results will be sorted in the default order. For more information, see
// [Sorting and filtering list
// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
// contains filtered or unexported fields
}Request message for [EkmService.ListEkmConnections][google.cloud.kms.v1.EkmService.ListEkmConnections].
func (*ListEkmConnectionsRequest) Descriptor
func (*ListEkmConnectionsRequest) Descriptor() ([]byte, []int)Deprecated: Use ListEkmConnectionsRequest.ProtoReflect.Descriptor instead.
func (*ListEkmConnectionsRequest) GetFilter
func (x *ListEkmConnectionsRequest) GetFilter() stringfunc (*ListEkmConnectionsRequest) GetOrderBy
func (x *ListEkmConnectionsRequest) GetOrderBy() stringfunc (*ListEkmConnectionsRequest) GetPageSize
func (x *ListEkmConnectionsRequest) GetPageSize() int32func (*ListEkmConnectionsRequest) GetPageToken
func (x *ListEkmConnectionsRequest) GetPageToken() stringfunc (*ListEkmConnectionsRequest) GetParent
func (x *ListEkmConnectionsRequest) GetParent() stringfunc (*ListEkmConnectionsRequest) ProtoMessage
func (*ListEkmConnectionsRequest) ProtoMessage()func (*ListEkmConnectionsRequest) ProtoReflect
func (x *ListEkmConnectionsRequest) ProtoReflect() protoreflect.Messagefunc (*ListEkmConnectionsRequest) Reset
func (x *ListEkmConnectionsRequest) Reset()func (*ListEkmConnectionsRequest) String
func (x *ListEkmConnectionsRequest) String() stringListEkmConnectionsResponse
type ListEkmConnectionsResponse struct {
// The list of [EkmConnections][google.cloud.kms.v1.EkmConnection].
EkmConnections []*EkmConnection `protobuf:"bytes,1,rep,name=ekm_connections,json=ekmConnections,proto3" json:"ekm_connections,omitempty"`
// A token to retrieve next page of results. Pass this value in
// [ListEkmConnectionsRequest.page_token][google.cloud.kms.v1.ListEkmConnectionsRequest.page_token]
// to retrieve the next page of results.
NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
// The total number of [EkmConnections][google.cloud.kms.v1.EkmConnection]
// that matched the query.
//
// This field is not populated if
// [ListEkmConnectionsRequest.filter][google.cloud.kms.v1.ListEkmConnectionsRequest.filter]
// is applied.
TotalSize int32 `protobuf:"varint,3,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"`
// contains filtered or unexported fields
}Response message for [EkmService.ListEkmConnections][google.cloud.kms.v1.EkmService.ListEkmConnections].
func (*ListEkmConnectionsResponse) Descriptor
func (*ListEkmConnectionsResponse) Descriptor() ([]byte, []int)Deprecated: Use ListEkmConnectionsResponse.ProtoReflect.Descriptor instead.
func (*ListEkmConnectionsResponse) GetEkmConnections
func (x *ListEkmConnectionsResponse) GetEkmConnections() []*EkmConnectionfunc (*ListEkmConnectionsResponse) GetNextPageToken
func (x *ListEkmConnectionsResponse) GetNextPageToken() stringfunc (*ListEkmConnectionsResponse) GetTotalSize
func (x *ListEkmConnectionsResponse) GetTotalSize() int32func (*ListEkmConnectionsResponse) ProtoMessage
func (*ListEkmConnectionsResponse) ProtoMessage()func (*ListEkmConnectionsResponse) ProtoReflect
func (x *ListEkmConnectionsResponse) ProtoReflect() protoreflect.Messagefunc (*ListEkmConnectionsResponse) Reset
func (x *ListEkmConnectionsResponse) Reset()func (*ListEkmConnectionsResponse) String
func (x *ListEkmConnectionsResponse) String() stringListImportJobsRequest
type ListImportJobsRequest struct {
// Required. The resource name of the [KeyRing][google.cloud.kms.v1.KeyRing]
// to list, in the format `projects/*/locations/*/keyRings/*`.
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Optional. Optional limit on the number of
// [ImportJobs][google.cloud.kms.v1.ImportJob] to include in the response.
// Further [ImportJobs][google.cloud.kms.v1.ImportJob] can subsequently be
// obtained by including the
// [ListImportJobsResponse.next_page_token][google.cloud.kms.v1.ListImportJobsResponse.next_page_token]
// in a subsequent request. If unspecified, the server will pick an
// appropriate default.
PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// Optional. Optional pagination token, returned earlier via
// [ListImportJobsResponse.next_page_token][google.cloud.kms.v1.ListImportJobsResponse.next_page_token].
PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
// Optional. Only include resources that match the filter in the response. For
// more information, see
// [Sorting and filtering list
// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
// Optional. Specify how the results should be sorted. If not specified, the
// results will be sorted in the default order. For more information, see
// [Sorting and filtering list
// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
// contains filtered or unexported fields
}Request message for [KeyManagementService.ListImportJobs][google.cloud.kms.v1.KeyManagementService.ListImportJobs].
func (*ListImportJobsRequest) Descriptor
func (*ListImportJobsRequest) Descriptor() ([]byte, []int)Deprecated: Use ListImportJobsRequest.ProtoReflect.Descriptor instead.
func (*ListImportJobsRequest) GetFilter
func (x *ListImportJobsRequest) GetFilter() stringfunc (*ListImportJobsRequest) GetOrderBy
func (x *ListImportJobsRequest) GetOrderBy() stringfunc (*ListImportJobsRequest) GetPageSize
func (x *ListImportJobsRequest) GetPageSize() int32func (*ListImportJobsRequest) GetPageToken
func (x *ListImportJobsRequest) GetPageToken() stringfunc (*ListImportJobsRequest) GetParent
func (x *ListImportJobsRequest) GetParent() stringfunc (*ListImportJobsRequest) ProtoMessage
func (*ListImportJobsRequest) ProtoMessage()func (*ListImportJobsRequest) ProtoReflect
func (x *ListImportJobsRequest) ProtoReflect() protoreflect.Messagefunc (*ListImportJobsRequest) Reset
func (x *ListImportJobsRequest) Reset()func (*ListImportJobsRequest) String
func (x *ListImportJobsRequest) String() stringListImportJobsResponse
type ListImportJobsResponse struct {
// The list of [ImportJobs][google.cloud.kms.v1.ImportJob].
ImportJobs []*ImportJob `protobuf:"bytes,1,rep,name=import_jobs,json=importJobs,proto3" json:"import_jobs,omitempty"`
// A token to retrieve next page of results. Pass this value in
// [ListImportJobsRequest.page_token][google.cloud.kms.v1.ListImportJobsRequest.page_token]
// to retrieve the next page of results.
NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
// The total number of [ImportJobs][google.cloud.kms.v1.ImportJob] that
// matched the query.
//
// This field is not populated if
// [ListImportJobsRequest.filter][google.cloud.kms.v1.ListImportJobsRequest.filter]
// is applied.
TotalSize int32 `protobuf:"varint,3,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"`
// contains filtered or unexported fields
}Response message for [KeyManagementService.ListImportJobs][google.cloud.kms.v1.KeyManagementService.ListImportJobs].
func (*ListImportJobsResponse) Descriptor
func (*ListImportJobsResponse) Descriptor() ([]byte, []int)Deprecated: Use ListImportJobsResponse.ProtoReflect.Descriptor instead.
func (*ListImportJobsResponse) GetImportJobs
func (x *ListImportJobsResponse) GetImportJobs() []*ImportJobfunc (*ListImportJobsResponse) GetNextPageToken
func (x *ListImportJobsResponse) GetNextPageToken() stringfunc (*ListImportJobsResponse) GetTotalSize
func (x *ListImportJobsResponse) GetTotalSize() int32func (*ListImportJobsResponse) ProtoMessage
func (*ListImportJobsResponse) ProtoMessage()func (*ListImportJobsResponse) ProtoReflect
func (x *ListImportJobsResponse) ProtoReflect() protoreflect.Messagefunc (*ListImportJobsResponse) Reset
func (x *ListImportJobsResponse) Reset()func (*ListImportJobsResponse) String
func (x *ListImportJobsResponse) String() stringListKeyHandlesRequest
type ListKeyHandlesRequest struct {
// Required. Name of the resource project and location from which to list
// [KeyHandles][google.cloud.kms.v1.KeyHandle], e.g.
// `projects/{PROJECT_ID}/locations/{LOCATION}`.
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Optional. Optional limit on the number of
// [KeyHandles][google.cloud.kms.v1.KeyHandle] to include in the response. The
// service may return fewer than this value. Further
// [KeyHandles][google.cloud.kms.v1.KeyHandle] can subsequently be obtained by
// including the
// [ListKeyHandlesResponse.next_page_token][google.cloud.kms.v1.ListKeyHandlesResponse.next_page_token]
// in a subsequent request. If unspecified, at most 100
// [KeyHandles][google.cloud.kms.v1.KeyHandle] will be returned.
PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// Optional. Optional pagination token, returned earlier via
// [ListKeyHandlesResponse.next_page_token][google.cloud.kms.v1.ListKeyHandlesResponse.next_page_token].
PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
// Optional. Filter to apply when listing
// [KeyHandles][google.cloud.kms.v1.KeyHandle], e.g.
// `resource_type_selector="{SERVICE}.googleapis.com/{TYPE}"`.
Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
// contains filtered or unexported fields
}Request message for [Autokey.ListKeyHandles][google.cloud.kms.v1.Autokey.ListKeyHandles].
func (*ListKeyHandlesRequest) Descriptor
func (*ListKeyHandlesRequest) Descriptor() ([]byte, []int)Deprecated: Use ListKeyHandlesRequest.ProtoReflect.Descriptor instead.
func (*ListKeyHandlesRequest) GetFilter
func (x *ListKeyHandlesRequest) GetFilter() stringfunc (*ListKeyHandlesRequest) GetPageSize
func (x *ListKeyHandlesRequest) GetPageSize() int32func (*ListKeyHandlesRequest) GetPageToken
func (x *ListKeyHandlesRequest) GetPageToken() stringfunc (*ListKeyHandlesRequest) GetParent
func (x *ListKeyHandlesRequest) GetParent() stringfunc (*ListKeyHandlesRequest) ProtoMessage
func (*ListKeyHandlesRequest) ProtoMessage()func (*ListKeyHandlesRequest) ProtoReflect
func (x *ListKeyHandlesRequest) ProtoReflect() protoreflect.Messagefunc (*ListKeyHandlesRequest) Reset
func (x *ListKeyHandlesRequest) Reset()func (*ListKeyHandlesRequest) String
func (x *ListKeyHandlesRequest) String() stringListKeyHandlesResponse
type ListKeyHandlesResponse struct {
// Resulting [KeyHandles][google.cloud.kms.v1.KeyHandle].
KeyHandles []*KeyHandle `protobuf:"bytes,1,rep,name=key_handles,json=keyHandles,proto3" json:"key_handles,omitempty"`
// A token to retrieve next page of results. Pass this value in
// [ListKeyHandlesRequest.page_token][google.cloud.kms.v1.ListKeyHandlesRequest.page_token]
// to retrieve the next page of results.
NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
// contains filtered or unexported fields
}Response message for [Autokey.ListKeyHandles][google.cloud.kms.v1.Autokey.ListKeyHandles].
func (*ListKeyHandlesResponse) Descriptor
func (*ListKeyHandlesResponse) Descriptor() ([]byte, []int)Deprecated: Use ListKeyHandlesResponse.ProtoReflect.Descriptor instead.
func (*ListKeyHandlesResponse) GetKeyHandles
func (x *ListKeyHandlesResponse) GetKeyHandles() []*KeyHandlefunc (*ListKeyHandlesResponse) GetNextPageToken
func (x *ListKeyHandlesResponse) GetNextPageToken() stringfunc (*ListKeyHandlesResponse) ProtoMessage
func (*ListKeyHandlesResponse) ProtoMessage()func (*ListKeyHandlesResponse) ProtoReflect
func (x *ListKeyHandlesResponse) ProtoReflect() protoreflect.Messagefunc (*ListKeyHandlesResponse) Reset
func (x *ListKeyHandlesResponse) Reset()func (*ListKeyHandlesResponse) String
func (x *ListKeyHandlesResponse) String() stringListKeyRingsRequest
type ListKeyRingsRequest struct {
// Required. The resource name of the location associated with the
// [KeyRings][google.cloud.kms.v1.KeyRing], in the format
// `projects/*/locations/*`.
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Optional. Optional limit on the number of
// [KeyRings][google.cloud.kms.v1.KeyRing] to include in the response. Further
// [KeyRings][google.cloud.kms.v1.KeyRing] can subsequently be obtained by
// including the
// [ListKeyRingsResponse.next_page_token][google.cloud.kms.v1.ListKeyRingsResponse.next_page_token]
// in a subsequent request. If unspecified, the server will pick an
// appropriate default.
PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// Optional. Optional pagination token, returned earlier via
// [ListKeyRingsResponse.next_page_token][google.cloud.kms.v1.ListKeyRingsResponse.next_page_token].
PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
// Optional. Only include resources that match the filter in the response. For
// more information, see
// [Sorting and filtering list
// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
// Optional. Specify how the results should be sorted. If not specified, the
// results will be sorted in the default order. For more information, see
// [Sorting and filtering list
// results](https://cloud.google.com/kms/docs/sorting-and-filtering).
OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
// contains filtered or unexported fields
}Request message for [KeyManagementService.ListKeyRings][google.cloud.kms.v1.KeyManagementService.ListKeyRings].
func (*ListKeyRingsRequest) Descriptor
func (*ListKeyRingsRequest) Descriptor() ([]byte, []int)Deprecated: Use ListKeyRingsRequest.ProtoReflect.Descriptor instead.
func (*ListKeyRingsRequest) GetFilter
func (x *ListKeyRingsRequest) GetFilter() stringfunc (*ListKeyRingsRequest) GetOrderBy
func (x *ListKeyRingsRequest) GetOrderBy() stringfunc (*ListKeyRingsRequest) GetPageSize
func (x *ListKeyRingsRequest) GetPageSize() int32func (*ListKeyRingsRequest) GetPageToken
func (x *ListKeyRingsRequest) GetPageToken() stringfunc (*ListKeyRingsRequest) GetParent
func (x *ListKeyRingsRequest) GetParent() stringfunc (*ListKeyRingsRequest) ProtoMessage
func (*ListKeyRingsRequest) ProtoMessage()func (*ListKeyRingsRequest) ProtoReflect
func (x *ListKeyRingsRequest) ProtoReflect() protoreflect.Messagefunc (*ListKeyRingsRequest) Reset
func (x *ListKeyRingsRequest) Reset()func (*ListKeyRingsRequest) String
func (x *ListKeyRingsRequest) String() stringListKeyRingsResponse
type ListKeyRingsResponse struct {
// The list of [KeyRings][google.cloud.kms.v1.KeyRing].
KeyRings []*KeyRing `protobuf:"bytes,1,rep,name=key_rings,json=keyRings,proto3" json:"key_rings,omitempty"`
// A token to retrieve next page of results. Pass this value in
// [ListKeyRingsRequest.page_token][google.cloud.kms.v1.ListKeyRingsRequest.page_token]
// to retrieve the next page of results.
NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
// The total number of [KeyRings][google.cloud.kms.v1.KeyRing] that matched
// the query.
//
// This field is not populated if
// [ListKeyRingsRequest.filter][google.cloud.kms.v1.ListKeyRingsRequest.filter]
// is applied.
TotalSize int32 `protobuf:"varint,3,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"`
// contains filtered or unexported fields
}Response message for [KeyManagementService.ListKeyRings][google.cloud.kms.v1.KeyManagementService.ListKeyRings].
func (*ListKeyRingsResponse) Descriptor
func (*ListKeyRingsResponse) Descriptor() ([]byte, []int)Deprecated: Use ListKeyRingsResponse.ProtoReflect.Descriptor instead.
func (*ListKeyRingsResponse) GetKeyRings
func (x *ListKeyRingsResponse) GetKeyRings() []*KeyRingfunc (*ListKeyRingsResponse) GetNextPageToken
func (x *ListKeyRingsResponse) GetNextPageToken() stringfunc (*ListKeyRingsResponse) GetTotalSize
func (x *ListKeyRingsResponse) GetTotalSize() int32func (*ListKeyRingsResponse) ProtoMessage
func (*ListKeyRingsResponse) ProtoMessage()func (*ListKeyRingsResponse) ProtoReflect
func (x *ListKeyRingsResponse) ProtoReflect() protoreflect.Messagefunc (*ListKeyRingsResponse) Reset
func (x *ListKeyRingsResponse) Reset()func (*ListKeyRingsResponse) String
func (x *ListKeyRingsResponse) String() stringLocationMetadata
type LocationMetadata struct {
// Indicates whether [CryptoKeys][google.cloud.kms.v1.CryptoKey] with
// [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level]
// [HSM][google.cloud.kms.v1.ProtectionLevel.HSM] can be created in this
// location.
HsmAvailable bool `protobuf:"varint,1,opt,name=hsm_available,json=hsmAvailable,proto3" json:"hsm_available,omitempty"`
// Indicates whether [CryptoKeys][google.cloud.kms.v1.CryptoKey] with
// [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level]
// [EXTERNAL][google.cloud.kms.v1.ProtectionLevel.EXTERNAL] can be created in
// this location.
EkmAvailable bool `protobuf:"varint,2,opt,name=ekm_available,json=ekmAvailable,proto3" json:"ekm_available,omitempty"`
// contains filtered or unexported fields
}Cloud KMS metadata for the given [google.cloud.location.Location][google.cloud.location.Location].
func (*LocationMetadata) Descriptor
func (*LocationMetadata) Descriptor() ([]byte, []int)Deprecated: Use LocationMetadata.ProtoReflect.Descriptor instead.
func (*LocationMetadata) GetEkmAvailable
func (x *LocationMetadata) GetEkmAvailable() boolfunc (*LocationMetadata) GetHsmAvailable
func (x *LocationMetadata) GetHsmAvailable() boolfunc (*LocationMetadata) ProtoMessage
func (*LocationMetadata) ProtoMessage()func (*LocationMetadata) ProtoReflect
func (x *LocationMetadata) ProtoReflect() protoreflect.Messagefunc (*LocationMetadata) Reset
func (x *LocationMetadata) Reset()func (*LocationMetadata) String
func (x *LocationMetadata) String() stringMacSignRequest
type MacSignRequest struct {
// Required. The resource name of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for
// signing.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Required. The data to sign. The MAC tag is computed over this data field
// based on the specific algorithm.
Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
// Optional. An optional CRC32C checksum of the
// [MacSignRequest.data][google.cloud.kms.v1.MacSignRequest.data]. If
// specified, [KeyManagementService][google.cloud.kms.v1.KeyManagementService]
// will verify the integrity of the received
// [MacSignRequest.data][google.cloud.kms.v1.MacSignRequest.data] using this
// checksum. [KeyManagementService][google.cloud.kms.v1.KeyManagementService]
// will report an error if the checksum verification fails. If you receive a
// checksum error, your client should verify that
// CRC32C([MacSignRequest.data][google.cloud.kms.v1.MacSignRequest.data]) is
// equal to
// [MacSignRequest.data_crc32c][google.cloud.kms.v1.MacSignRequest.data_crc32c],
// and if so, perform a limited number of retries. A persistent mismatch may
// indicate an issue in your computation of the CRC32C checksum. Note: This
// field is defined as int64 for reasons of compatibility across different
// languages. However, it is a non-negative integer, which will never exceed
// 2^32-1, and can be safely downconverted to uint32 in languages that support
// this type.
DataCrc32C *wrapperspb.Int64Value `protobuf:"bytes,3,opt,name=data_crc32c,json=dataCrc32c,proto3" json:"data_crc32c,omitempty"`
// contains filtered or unexported fields
}Request message for [KeyManagementService.MacSign][google.cloud.kms.v1.KeyManagementService.MacSign].
func (*MacSignRequest) Descriptor
func (*MacSignRequest) Descriptor() ([]byte, []int)Deprecated: Use MacSignRequest.ProtoReflect.Descriptor instead.
func (*MacSignRequest) GetData
func (x *MacSignRequest) GetData() []bytefunc (*MacSignRequest) GetDataCrc32C
func (x *MacSignRequest) GetDataCrc32C() *wrapperspb.Int64Valuefunc (*MacSignRequest) GetName
func (x *MacSignRequest) GetName() stringfunc (*MacSignRequest) ProtoMessage
func (*MacSignRequest) ProtoMessage()func (*MacSignRequest) ProtoReflect
func (x *MacSignRequest) ProtoReflect() protoreflect.Messagefunc (*MacSignRequest) Reset
func (x *MacSignRequest) Reset()func (*MacSignRequest) String
func (x *MacSignRequest) String() stringMacSignResponse
type MacSignResponse struct {
// The resource name of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used for signing.
// Check this field to verify that the intended resource was used for signing.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// The created signature.
Mac []byte `protobuf:"bytes,2,opt,name=mac,proto3" json:"mac,omitempty"`
// Integrity verification field. A CRC32C checksum of the returned
// [MacSignResponse.mac][google.cloud.kms.v1.MacSignResponse.mac]. An
// integrity check of
// [MacSignResponse.mac][google.cloud.kms.v1.MacSignResponse.mac] can be
// performed by computing the CRC32C checksum of
// [MacSignResponse.mac][google.cloud.kms.v1.MacSignResponse.mac] and
// comparing your results to this field. Discard the response in case of
// non-matching checksum values, and perform a limited number of retries. A
// persistent mismatch may indicate an issue in your computation of the CRC32C
// checksum. Note: This field is defined as int64 for reasons of compatibility
// across different languages. However, it is a non-negative integer, which
// will never exceed 2^32-1, and can be safely downconverted to uint32 in
// languages that support this type.
MacCrc32C *wrapperspb.Int64Value `protobuf:"bytes,3,opt,name=mac_crc32c,json=macCrc32c,proto3" json:"mac_crc32c,omitempty"`
// Integrity verification field. A flag indicating whether
// [MacSignRequest.data_crc32c][google.cloud.kms.v1.MacSignRequest.data_crc32c]
// was received by
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used
// for the integrity verification of the
// [data][google.cloud.kms.v1.MacSignRequest.data]. A false value of this
// field indicates either that
// [MacSignRequest.data_crc32c][google.cloud.kms.v1.MacSignRequest.data_crc32c]
// was left unset or that it was not delivered to
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've
// set
// [MacSignRequest.data_crc32c][google.cloud.kms.v1.MacSignRequest.data_crc32c]
// but this field is still false, discard the response and perform a limited
// number of retries.
VerifiedDataCrc32C bool `protobuf:"varint,4,opt,name=verified_data_crc32c,json=verifiedDataCrc32c,proto3" json:"verified_data_crc32c,omitempty"`
// The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used for signing.
ProtectionLevel ProtectionLevel `protobuf:"varint,5,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"`
// contains filtered or unexported fields
}Response message for [KeyManagementService.MacSign][google.cloud.kms.v1.KeyManagementService.MacSign].
func (*MacSignResponse) Descriptor
func (*MacSignResponse) Descriptor() ([]byte, []int)Deprecated: Use MacSignResponse.ProtoReflect.Descriptor instead.
func (*MacSignResponse) GetMac
func (x *MacSignResponse) GetMac() []bytefunc (*MacSignResponse) GetMacCrc32C
func (x *MacSignResponse) GetMacCrc32C() *wrapperspb.Int64Valuefunc (*MacSignResponse) GetName
func (x *MacSignResponse) GetName() stringfunc (*MacSignResponse) GetProtectionLevel
func (x *MacSignResponse) GetProtectionLevel() ProtectionLevelfunc (*MacSignResponse) GetVerifiedDataCrc32C
func (x *MacSignResponse) GetVerifiedDataCrc32C() boolfunc (*MacSignResponse) ProtoMessage
func (*MacSignResponse) ProtoMessage()func (*MacSignResponse) ProtoReflect
func (x *MacSignResponse) ProtoReflect() protoreflect.Messagefunc (*MacSignResponse) Reset
func (x *MacSignResponse) Reset()func (*MacSignResponse) String
func (x *MacSignResponse) String() stringMacVerifyRequest
type MacVerifyRequest struct {
// Required. The resource name of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for
// verification.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Required. The data used previously as a
// [MacSignRequest.data][google.cloud.kms.v1.MacSignRequest.data] to generate
// the MAC tag.
Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
// Optional. An optional CRC32C checksum of the
// [MacVerifyRequest.data][google.cloud.kms.v1.MacVerifyRequest.data]. If
// specified, [KeyManagementService][google.cloud.kms.v1.KeyManagementService]
// will verify the integrity of the received
// [MacVerifyRequest.data][google.cloud.kms.v1.MacVerifyRequest.data] using
// this checksum.
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will
// report an error if the checksum verification fails. If you receive a
// checksum error, your client should verify that
// CRC32C([MacVerifyRequest.data][google.cloud.kms.v1.MacVerifyRequest.data])
// is equal to
// [MacVerifyRequest.data_crc32c][google.cloud.kms.v1.MacVerifyRequest.data_crc32c],
// and if so, perform a limited number of retries. A persistent mismatch may
// indicate an issue in your computation of the CRC32C checksum. Note: This
// field is defined as int64 for reasons of compatibility across different
// languages. However, it is a non-negative integer, which will never exceed
// 2^32-1, and can be safely downconverted to uint32 in languages that support
// this type.
DataCrc32C *wrapperspb.Int64Value `protobuf:"bytes,3,opt,name=data_crc32c,json=dataCrc32c,proto3" json:"data_crc32c,omitempty"`
// Required. The signature to verify.
Mac []byte `protobuf:"bytes,4,opt,name=mac,proto3" json:"mac,omitempty"`
// Optional. An optional CRC32C checksum of the
// [MacVerifyRequest.mac][google.cloud.kms.v1.MacVerifyRequest.mac]. If
// specified, [KeyManagementService][google.cloud.kms.v1.KeyManagementService]
// will verify the integrity of the received
// [MacVerifyRequest.mac][google.cloud.kms.v1.MacVerifyRequest.mac] using this
// checksum. [KeyManagementService][google.cloud.kms.v1.KeyManagementService]
// will report an error if the checksum verification fails. If you receive a
// checksum error, your client should verify that
// CRC32C([MacVerifyRequest.mac][google.cloud.kms.v1.MacVerifyRequest.mac]) is
// equal to
// [MacVerifyRequest.mac_crc32c][google.cloud.kms.v1.MacVerifyRequest.mac_crc32c],
// and if so, perform a limited number of retries. A persistent mismatch may
// indicate an issue in your computation of the CRC32C checksum. Note: This
// field is defined as int64 for reasons of compatibility across different
// languages. However, it is a non-negative integer, which will never exceed
// 2^32-1, and can be safely downconverted to uint32 in languages that support
// this type.
MacCrc32C *wrapperspb.Int64Value `protobuf:"bytes,5,opt,name=mac_crc32c,json=macCrc32c,proto3" json:"mac_crc32c,omitempty"`
// contains filtered or unexported fields
}Request message for [KeyManagementService.MacVerify][google.cloud.kms.v1.KeyManagementService.MacVerify].
func (*MacVerifyRequest) Descriptor
func (*MacVerifyRequest) Descriptor() ([]byte, []int)Deprecated: Use MacVerifyRequest.ProtoReflect.Descriptor instead.
func (*MacVerifyRequest) GetData
func (x *MacVerifyRequest) GetData() []bytefunc (*MacVerifyRequest) GetDataCrc32C
func (x *MacVerifyRequest) GetDataCrc32C() *wrapperspb.Int64Valuefunc (*MacVerifyRequest) GetMac
func (x *MacVerifyRequest) GetMac() []bytefunc (*MacVerifyRequest) GetMacCrc32C
func (x *MacVerifyRequest) GetMacCrc32C() *wrapperspb.Int64Valuefunc (*MacVerifyRequest) GetName
func (x *MacVerifyRequest) GetName() stringfunc (*MacVerifyRequest) ProtoMessage
func (*MacVerifyRequest) ProtoMessage()func (*MacVerifyRequest) ProtoReflect
func (x *MacVerifyRequest) ProtoReflect() protoreflect.Messagefunc (*MacVerifyRequest) Reset
func (x *MacVerifyRequest) Reset()func (*MacVerifyRequest) String
func (x *MacVerifyRequest) String() stringMacVerifyResponse
type MacVerifyResponse struct {
// The resource name of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used for
// verification. Check this field to verify that the intended resource was
// used for verification.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// This field indicates whether or not the verification operation for
// [MacVerifyRequest.mac][google.cloud.kms.v1.MacVerifyRequest.mac] over
// [MacVerifyRequest.data][google.cloud.kms.v1.MacVerifyRequest.data] was
// successful.
Success bool `protobuf:"varint,2,opt,name=success,proto3" json:"success,omitempty"`
// Integrity verification field. A flag indicating whether
// [MacVerifyRequest.data_crc32c][google.cloud.kms.v1.MacVerifyRequest.data_crc32c]
// was received by
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used
// for the integrity verification of the
// [data][google.cloud.kms.v1.MacVerifyRequest.data]. A false value of this
// field indicates either that
// [MacVerifyRequest.data_crc32c][google.cloud.kms.v1.MacVerifyRequest.data_crc32c]
// was left unset or that it was not delivered to
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've
// set
// [MacVerifyRequest.data_crc32c][google.cloud.kms.v1.MacVerifyRequest.data_crc32c]
// but this field is still false, discard the response and perform a limited
// number of retries.
VerifiedDataCrc32C bool `protobuf:"varint,3,opt,name=verified_data_crc32c,json=verifiedDataCrc32c,proto3" json:"verified_data_crc32c,omitempty"`
// Integrity verification field. A flag indicating whether
// [MacVerifyRequest.mac_crc32c][google.cloud.kms.v1.MacVerifyRequest.mac_crc32c]
// was received by
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used
// for the integrity verification of the
// [data][google.cloud.kms.v1.MacVerifyRequest.mac]. A false value of this
// field indicates either that
// [MacVerifyRequest.mac_crc32c][google.cloud.kms.v1.MacVerifyRequest.mac_crc32c]
// was left unset or that it was not delivered to
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've
// set
// [MacVerifyRequest.mac_crc32c][google.cloud.kms.v1.MacVerifyRequest.mac_crc32c]
// but this field is still false, discard the response and perform a limited
// number of retries.
VerifiedMacCrc32C bool `protobuf:"varint,4,opt,name=verified_mac_crc32c,json=verifiedMacCrc32c,proto3" json:"verified_mac_crc32c,omitempty"`
// Integrity verification field. This value is used for the integrity
// verification of [MacVerifyResponse.success]. If the value of this field
// contradicts the value of [MacVerifyResponse.success], discard the response
// and perform a limited number of retries.
VerifiedSuccessIntegrity bool `protobuf:"varint,5,opt,name=verified_success_integrity,json=verifiedSuccessIntegrity,proto3" json:"verified_success_integrity,omitempty"`
// The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used for
// verification.
ProtectionLevel ProtectionLevel `protobuf:"varint,6,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"`
// contains filtered or unexported fields
}Response message for [KeyManagementService.MacVerify][google.cloud.kms.v1.KeyManagementService.MacVerify].
func (*MacVerifyResponse) Descriptor
func (*MacVerifyResponse) Descriptor() ([]byte, []int)Deprecated: Use MacVerifyResponse.ProtoReflect.Descriptor instead.
func (*MacVerifyResponse) GetName
func (x *MacVerifyResponse) GetName() stringfunc (*MacVerifyResponse) GetProtectionLevel
func (x *MacVerifyResponse) GetProtectionLevel() ProtectionLevelfunc (*MacVerifyResponse) GetSuccess
func (x *MacVerifyResponse) GetSuccess() boolfunc (*MacVerifyResponse) GetVerifiedDataCrc32C
func (x *MacVerifyResponse) GetVerifiedDataCrc32C() boolfunc (*MacVerifyResponse) GetVerifiedMacCrc32C
func (x *MacVerifyResponse) GetVerifiedMacCrc32C() boolfunc (*MacVerifyResponse) GetVerifiedSuccessIntegrity
func (x *MacVerifyResponse) GetVerifiedSuccessIntegrity() boolfunc (*MacVerifyResponse) ProtoMessage
func (*MacVerifyResponse) ProtoMessage()func (*MacVerifyResponse) ProtoReflect
func (x *MacVerifyResponse) ProtoReflect() protoreflect.Messagefunc (*MacVerifyResponse) Reset
func (x *MacVerifyResponse) Reset()func (*MacVerifyResponse) String
func (x *MacVerifyResponse) String() stringProtectionLevel
type ProtectionLevel int32[ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] specifies how cryptographic operations are performed. For more information, see Protection levels.
ProtectionLevel_PROTECTION_LEVEL_UNSPECIFIED, ProtectionLevel_SOFTWARE, ProtectionLevel_HSM, ProtectionLevel_EXTERNAL, ProtectionLevel_EXTERNAL_VPC
const (
// Not specified.
ProtectionLevel_PROTECTION_LEVEL_UNSPECIFIED ProtectionLevel = 0
// Crypto operations are performed in software.
ProtectionLevel_SOFTWARE ProtectionLevel = 1
// Crypto operations are performed in a Hardware Security Module.
ProtectionLevel_HSM ProtectionLevel = 2
// Crypto operations are performed by an external key manager.
ProtectionLevel_EXTERNAL ProtectionLevel = 3
// Crypto operations are performed in an EKM-over-VPC backend.
ProtectionLevel_EXTERNAL_VPC ProtectionLevel = 4
)func (ProtectionLevel) Descriptor
func (ProtectionLevel) Descriptor() protoreflect.EnumDescriptorfunc (ProtectionLevel) Enum
func (x ProtectionLevel) Enum() *ProtectionLevelfunc (ProtectionLevel) EnumDescriptor
func (ProtectionLevel) EnumDescriptor() ([]byte, []int)Deprecated: Use ProtectionLevel.Descriptor instead.
func (ProtectionLevel) Number
func (x ProtectionLevel) Number() protoreflect.EnumNumberfunc (ProtectionLevel) String
func (x ProtectionLevel) String() stringfunc (ProtectionLevel) Type
func (ProtectionLevel) Type() protoreflect.EnumTypePublicKey
type PublicKey struct {
// The public key, encoded in PEM format. For more information, see the
// [RFC 7468](https://tools.ietf.org/html/rfc7468) sections for
// [General Considerations](https://tools.ietf.org/html/rfc7468#section-2) and
// [Textual Encoding of Subject Public Key Info]
// (https://tools.ietf.org/html/rfc7468#section-13).
Pem string `protobuf:"bytes,1,opt,name=pem,proto3" json:"pem,omitempty"`
// The
// [Algorithm][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm]
// associated with this key.
Algorithm CryptoKeyVersion_CryptoKeyVersionAlgorithm `protobuf:"varint,2,opt,name=algorithm,proto3,enum=google.cloud.kms.v1.CryptoKeyVersion_CryptoKeyVersionAlgorithm" json:"algorithm,omitempty"`
// Integrity verification field. A CRC32C checksum of the returned
// [PublicKey.pem][google.cloud.kms.v1.PublicKey.pem]. An integrity check of
// [PublicKey.pem][google.cloud.kms.v1.PublicKey.pem] can be performed by
// computing the CRC32C checksum of
// [PublicKey.pem][google.cloud.kms.v1.PublicKey.pem] and comparing your
// results to this field. Discard the response in case of non-matching
// checksum values, and perform a limited number of retries. A persistent
// mismatch may indicate an issue in your computation of the CRC32C checksum.
// Note: This field is defined as int64 for reasons of compatibility across
// different languages. However, it is a non-negative integer, which will
// never exceed `2^32-1`, and can be safely downconverted to uint32 in
// languages that support this type.
//
// NOTE: This field is in Beta.
PemCrc32C *wrapperspb.Int64Value `protobuf:"bytes,3,opt,name=pem_crc32c,json=pemCrc32c,proto3" json:"pem_crc32c,omitempty"`
// The [name][google.cloud.kms.v1.CryptoKeyVersion.name] of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] public key.
// Provided here for verification.
//
// NOTE: This field is in Beta.
Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
// The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] public key.
ProtectionLevel ProtectionLevel `protobuf:"varint,5,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"`
// The [PublicKey][google.cloud.kms.v1.PublicKey] format specified by the
// customer through the
// [public_key_format][google.cloud.kms.v1.GetPublicKeyRequest.public_key_format]
// field.
PublicKeyFormat PublicKey_PublicKeyFormat `protobuf:"varint,7,opt,name=public_key_format,json=publicKeyFormat,proto3,enum=google.cloud.kms.v1.PublicKey_PublicKeyFormat" json:"public_key_format,omitempty"`
// This field contains the public key (with integrity verification), formatted
// according to the
// [public_key_format][google.cloud.kms.v1.PublicKey.public_key_format] field.
PublicKey *ChecksummedData `protobuf:"bytes,8,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"`
// contains filtered or unexported fields
}The public keys for a given [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. Obtained via [GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey].
func (*PublicKey) Descriptor
Deprecated: Use PublicKey.ProtoReflect.Descriptor instead.
func (*PublicKey) GetAlgorithm
func (x *PublicKey) GetAlgorithm() CryptoKeyVersion_CryptoKeyVersionAlgorithmfunc (*PublicKey) GetName
func (*PublicKey) GetPem
func (*PublicKey) GetPemCrc32C
func (x *PublicKey) GetPemCrc32C() *wrapperspb.Int64Valuefunc (*PublicKey) GetProtectionLevel
func (x *PublicKey) GetProtectionLevel() ProtectionLevelfunc (*PublicKey) GetPublicKey
func (x *PublicKey) GetPublicKey() *ChecksummedDatafunc (*PublicKey) GetPublicKeyFormat
func (x *PublicKey) GetPublicKeyFormat() PublicKey_PublicKeyFormatfunc (*PublicKey) ProtoMessage
func (*PublicKey) ProtoMessage()func (*PublicKey) ProtoReflect
func (x *PublicKey) ProtoReflect() protoreflect.Messagefunc (*PublicKey) Reset
func (x *PublicKey) Reset()func (*PublicKey) String
PublicKey_PublicKeyFormat
type PublicKey_PublicKeyFormat int32The supported [PublicKey][google.cloud.kms.v1.PublicKey] formats.
PublicKey_PUBLIC_KEY_FORMAT_UNSPECIFIED, PublicKey_PEM, PublicKey_DER, PublicKey_NIST_PQC, PublicKey_XWING_RAW_BYTES
const (
// If the
// [public_key_format][google.cloud.kms.v1.GetPublicKeyRequest.public_key_format]
// field is not specified:
// - For PQC algorithms, an error will be returned.
// - For non-PQC algorithms, the default format is PEM, and the field
// [pem][google.cloud.kms.v1.PublicKey.pem] will be populated.
//
// Otherwise, the public key will be exported through the
// [public_key][google.cloud.kms.v1.PublicKey.public_key] field in the
// requested format.
PublicKey_PUBLIC_KEY_FORMAT_UNSPECIFIED PublicKey_PublicKeyFormat = 0
// The returned public key will be encoded in PEM format.
// See the [RFC7468](https://tools.ietf.org/html/rfc7468) sections for
// [General Considerations](https://tools.ietf.org/html/rfc7468#section-2)
// and [Textual Encoding of Subject Public Key Info]
// (https://tools.ietf.org/html/rfc7468#section-13) for more information.
PublicKey_PEM PublicKey_PublicKeyFormat = 1
// The returned public key will be encoded in DER format (the
// PrivateKeyInfo structure from RFC 5208).
PublicKey_DER PublicKey_PublicKeyFormat = 2
// This is supported only for PQC algorithms.
// The key material is returned in the format defined by NIST PQC
// standards (FIPS 203, FIPS 204, and FIPS 205).
PublicKey_NIST_PQC PublicKey_PublicKeyFormat = 3
// The returned public key is in raw bytes format defined in its standard
// https://datatracker.ietf.org/doc/draft-connolly-cfrg-xwing-kem.
PublicKey_XWING_RAW_BYTES PublicKey_PublicKeyFormat = 4
)func (PublicKey_PublicKeyFormat) Descriptor
func (PublicKey_PublicKeyFormat) Descriptor() protoreflect.EnumDescriptorfunc (PublicKey_PublicKeyFormat) Enum
func (x PublicKey_PublicKeyFormat) Enum() *PublicKey_PublicKeyFormatfunc (PublicKey_PublicKeyFormat) EnumDescriptor
func (PublicKey_PublicKeyFormat) EnumDescriptor() ([]byte, []int)Deprecated: Use PublicKey_PublicKeyFormat.Descriptor instead.
func (PublicKey_PublicKeyFormat) Number
func (x PublicKey_PublicKeyFormat) Number() protoreflect.EnumNumberfunc (PublicKey_PublicKeyFormat) String
func (x PublicKey_PublicKeyFormat) String() stringfunc (PublicKey_PublicKeyFormat) Type
func (PublicKey_PublicKeyFormat) Type() protoreflect.EnumTypeRawDecryptRequest
type RawDecryptRequest struct {
// Required. The resource name of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for
// decryption.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Required. The encrypted data originally returned in
// [RawEncryptResponse.ciphertext][google.cloud.kms.v1.RawEncryptResponse.ciphertext].
Ciphertext []byte `protobuf:"bytes,2,opt,name=ciphertext,proto3" json:"ciphertext,omitempty"`
// Optional. Optional data that must match the data originally supplied in
// [RawEncryptRequest.additional_authenticated_data][google.cloud.kms.v1.RawEncryptRequest.additional_authenticated_data].
AdditionalAuthenticatedData []byte `protobuf:"bytes,3,opt,name=additional_authenticated_data,json=additionalAuthenticatedData,proto3" json:"additional_authenticated_data,omitempty"`
// Required. The initialization vector (IV) used during encryption, which must
// match the data originally provided in
// [RawEncryptResponse.initialization_vector][google.cloud.kms.v1.RawEncryptResponse.initialization_vector].
InitializationVector []byte `protobuf:"bytes,4,opt,name=initialization_vector,json=initializationVector,proto3" json:"initialization_vector,omitempty"`
// The length of the authentication tag that is appended to the end of
// the ciphertext. If unspecified (0), the default value for the key's
// algorithm will be used (for AES-GCM, the default value is 16).
TagLength int32 `protobuf:"varint,5,opt,name=tag_length,json=tagLength,proto3" json:"tag_length,omitempty"`
// Optional. An optional CRC32C checksum of the
// [RawDecryptRequest.ciphertext][google.cloud.kms.v1.RawDecryptRequest.ciphertext].
// If specified,
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will
// verify the integrity of the received ciphertext using this checksum.
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will
// report an error if the checksum verification fails. If you receive a
// checksum error, your client should verify that CRC32C(ciphertext) is equal
// to ciphertext_crc32c, and if so, perform a limited number of retries. A
// persistent mismatch may indicate an issue in your computation of the CRC32C
// checksum. Note: This field is defined as int64 for reasons of compatibility
// across different languages. However, it is a non-negative integer, which
// will never exceed 2^32-1, and can be safely downconverted to uint32 in
// languages that support this type.
CiphertextCrc32C *wrapperspb.Int64Value `protobuf:"bytes,6,opt,name=ciphertext_crc32c,json=ciphertextCrc32c,proto3" json:"ciphertext_crc32c,omitempty"`
// Optional. An optional CRC32C checksum of the
// [RawDecryptRequest.additional_authenticated_data][google.cloud.kms.v1.RawDecryptRequest.additional_authenticated_data].
// If specified,
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will
// verify the integrity of the received additional_authenticated_data using
// this checksum.
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will
// report an error if the checksum verification fails. If you receive a
// checksum error, your client should verify that
// CRC32C(additional_authenticated_data) is equal to
// additional_authenticated_data_crc32c, and if so, perform
// a limited number of retries. A persistent mismatch may indicate an issue in
// your computation of the CRC32C checksum.
// Note: This field is defined as int64 for reasons of compatibility across
// different languages. However, it is a non-negative integer, which will
// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
// that support this type.
AdditionalAuthenticatedDataCrc32C *wrapperspb.Int64Value `protobuf:"bytes,7,opt,name=additional_authenticated_data_crc32c,json=additionalAuthenticatedDataCrc32c,proto3" json:"additional_authenticated_data_crc32c,omitempty"`
// Optional. An optional CRC32C checksum of the
// [RawDecryptRequest.initialization_vector][google.cloud.kms.v1.RawDecryptRequest.initialization_vector].
// If specified,
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will
// verify the integrity of the received initialization_vector using this
// checksum. [KeyManagementService][google.cloud.kms.v1.KeyManagementService]
// will report an error if the checksum verification fails. If you receive a
// checksum error, your client should verify that
// CRC32C(initialization_vector) is equal to initialization_vector_crc32c, and
// if so, perform a limited number of retries. A persistent mismatch may
// indicate an issue in your computation of the CRC32C checksum.
// Note: This field is defined as int64 for reasons of compatibility across
// different languages. However, it is a non-negative integer, which will
// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
// that support this type.
InitializationVectorCrc32C *wrapperspb.Int64Value `protobuf:"bytes,8,opt,name=initialization_vector_crc32c,json=initializationVectorCrc32c,proto3" json:"initialization_vector_crc32c,omitempty"`
// contains filtered or unexported fields
}Request message for [KeyManagementService.RawDecrypt][google.cloud.kms.v1.KeyManagementService.RawDecrypt].
func (*RawDecryptRequest) Descriptor
func (*RawDecryptRequest) Descriptor() ([]byte, []int)Deprecated: Use RawDecryptRequest.ProtoReflect.Descriptor instead.
func (*RawDecryptRequest) GetAdditionalAuthenticatedData
func (x *RawDecryptRequest) GetAdditionalAuthenticatedData() []bytefunc (*RawDecryptRequest) GetAdditionalAuthenticatedDataCrc32C
func (x *RawDecryptRequest) GetAdditionalAuthenticatedDataCrc32C() *wrapperspb.Int64Valuefunc (*RawDecryptRequest) GetCiphertext
func (x *RawDecryptRequest) GetCiphertext() []bytefunc (*RawDecryptRequest) GetCiphertextCrc32C
func (x *RawDecryptRequest) GetCiphertextCrc32C() *wrapperspb.Int64Valuefunc (*RawDecryptRequest) GetInitializationVector
func (x *RawDecryptRequest) GetInitializationVector() []bytefunc (*RawDecryptRequest) GetInitializationVectorCrc32C
func (x *RawDecryptRequest) GetInitializationVectorCrc32C() *wrapperspb.Int64Valuefunc (*RawDecryptRequest) GetName
func (x *RawDecryptRequest) GetName() stringfunc (*RawDecryptRequest) GetTagLength
func (x *RawDecryptRequest) GetTagLength() int32func (*RawDecryptRequest) ProtoMessage
func (*RawDecryptRequest) ProtoMessage()func (*RawDecryptRequest) ProtoReflect
func (x *RawDecryptRequest) ProtoReflect() protoreflect.Messagefunc (*RawDecryptRequest) Reset
func (x *RawDecryptRequest) Reset()func (*RawDecryptRequest) String
func (x *RawDecryptRequest) String() stringRawDecryptResponse
type RawDecryptResponse struct {
// The decrypted data.
Plaintext []byte `protobuf:"bytes,1,opt,name=plaintext,proto3" json:"plaintext,omitempty"`
// Integrity verification field. A CRC32C checksum of the returned
// [RawDecryptResponse.plaintext][google.cloud.kms.v1.RawDecryptResponse.plaintext].
// An integrity check of plaintext can be performed by computing the CRC32C
// checksum of plaintext and comparing your results to this field. Discard the
// response in case of non-matching checksum values, and perform a limited
// number of retries. A persistent mismatch may indicate an issue in your
// computation of the CRC32C checksum. Note: receiving this response message
// indicates that
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] is able to
// successfully decrypt the
// [ciphertext][google.cloud.kms.v1.RawDecryptRequest.ciphertext].
// Note: This field is defined as int64 for reasons of compatibility across
// different languages. However, it is a non-negative integer, which will
// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
// that support this type.
PlaintextCrc32C *wrapperspb.Int64Value `protobuf:"bytes,2,opt,name=plaintext_crc32c,json=plaintextCrc32c,proto3" json:"plaintext_crc32c,omitempty"`
// The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used in
// decryption.
ProtectionLevel ProtectionLevel `protobuf:"varint,3,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"`
// Integrity verification field. A flag indicating whether
// [RawDecryptRequest.ciphertext_crc32c][google.cloud.kms.v1.RawDecryptRequest.ciphertext_crc32c]
// was received by
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used
// for the integrity verification of the ciphertext. A false value of this
// field indicates either that
// [RawDecryptRequest.ciphertext_crc32c][google.cloud.kms.v1.RawDecryptRequest.ciphertext_crc32c]
// was left unset or that it was not delivered to
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've
// set
// [RawDecryptRequest.ciphertext_crc32c][google.cloud.kms.v1.RawDecryptRequest.ciphertext_crc32c]
// but this field is still false, discard the response and perform a limited
// number of retries.
VerifiedCiphertextCrc32C bool `protobuf:"varint,4,opt,name=verified_ciphertext_crc32c,json=verifiedCiphertextCrc32c,proto3" json:"verified_ciphertext_crc32c,omitempty"`
// Integrity verification field. A flag indicating whether
// [RawDecryptRequest.additional_authenticated_data_crc32c][google.cloud.kms.v1.RawDecryptRequest.additional_authenticated_data_crc32c]
// was received by
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used
// for the integrity verification of additional_authenticated_data. A false
// value of this field indicates either that //
// [RawDecryptRequest.additional_authenticated_data_crc32c][google.cloud.kms.v1.RawDecryptRequest.additional_authenticated_data_crc32c]
// was left unset or that it was not delivered to
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've
// set
// [RawDecryptRequest.additional_authenticated_data_crc32c][google.cloud.kms.v1.RawDecryptRequest.additional_authenticated_data_crc32c]
// but this field is still false, discard the response and perform a limited
// number of retries.
VerifiedAdditionalAuthenticatedDataCrc32C bool `protobuf:"varint,5,opt,name=verified_additional_authenticated_data_crc32c,json=verifiedAdditionalAuthenticatedDataCrc32c,proto3" json:"verified_additional_authenticated_data_crc32c,omitempty"`
// Integrity verification field. A flag indicating whether
// [RawDecryptRequest.initialization_vector_crc32c][google.cloud.kms.v1.RawDecryptRequest.initialization_vector_crc32c]
// was received by
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used
// for the integrity verification of initialization_vector. A false value of
// this field indicates either that
// [RawDecryptRequest.initialization_vector_crc32c][google.cloud.kms.v1.RawDecryptRequest.initialization_vector_crc32c]
// was left unset or that it was not delivered to
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've
// set
// [RawDecryptRequest.initialization_vector_crc32c][google.cloud.kms.v1.RawDecryptRequest.initialization_vector_crc32c]
// but this field is still false, discard the response and perform a limited
// number of retries.
VerifiedInitializationVectorCrc32C bool `protobuf:"varint,6,opt,name=verified_initialization_vector_crc32c,json=verifiedInitializationVectorCrc32c,proto3" json:"verified_initialization_vector_crc32c,omitempty"`
// contains filtered or unexported fields
}Response message for [KeyManagementService.RawDecrypt][google.cloud.kms.v1.KeyManagementService.RawDecrypt].
func (*RawDecryptResponse) Descriptor
func (*RawDecryptResponse) Descriptor() ([]byte, []int)Deprecated: Use RawDecryptResponse.ProtoReflect.Descriptor instead.
func (*RawDecryptResponse) GetPlaintext
func (x *RawDecryptResponse) GetPlaintext() []bytefunc (*RawDecryptResponse) GetPlaintextCrc32C
func (x *RawDecryptResponse) GetPlaintextCrc32C() *wrapperspb.Int64Valuefunc (*RawDecryptResponse) GetProtectionLevel
func (x *RawDecryptResponse) GetProtectionLevel() ProtectionLevelfunc (*RawDecryptResponse) GetVerifiedAdditionalAuthenticatedDataCrc32C
func (x *RawDecryptResponse) GetVerifiedAdditionalAuthenticatedDataCrc32C() boolfunc (*RawDecryptResponse) GetVerifiedCiphertextCrc32C
func (x *RawDecryptResponse) GetVerifiedCiphertextCrc32C() boolfunc (*RawDecryptResponse) GetVerifiedInitializationVectorCrc32C
func (x *RawDecryptResponse) GetVerifiedInitializationVectorCrc32C() boolfunc (*RawDecryptResponse) ProtoMessage
func (*RawDecryptResponse) ProtoMessage()func (*RawDecryptResponse) ProtoReflect
func (x *RawDecryptResponse) ProtoReflect() protoreflect.Messagefunc (*RawDecryptResponse) Reset
func (x *RawDecryptResponse) Reset()func (*RawDecryptResponse) String
func (x *RawDecryptResponse) String() stringRawEncryptRequest
type RawEncryptRequest struct {
// Required. The resource name of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use for
// encryption.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Required. The data to encrypt. Must be no larger than 64KiB.
//
// The maximum size depends on the key version's
// [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level].
// For [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE] keys, the
// plaintext must be no larger than 64KiB. For
// [HSM][google.cloud.kms.v1.ProtectionLevel.HSM] keys, the combined length of
// the plaintext and additional_authenticated_data fields must be no larger
// than 8KiB.
Plaintext []byte `protobuf:"bytes,2,opt,name=plaintext,proto3" json:"plaintext,omitempty"`
// Optional. Optional data that, if specified, must also be provided during
// decryption through
// [RawDecryptRequest.additional_authenticated_data][google.cloud.kms.v1.RawDecryptRequest.additional_authenticated_data].
//
// This field may only be used in conjunction with an
// [algorithm][google.cloud.kms.v1.CryptoKeyVersion.algorithm] that accepts
// additional authenticated data (for example, AES-GCM).
//
// The maximum size depends on the key version's
// [protection_level][google.cloud.kms.v1.CryptoKeyVersionTemplate.protection_level].
// For [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE] keys, the
// plaintext must be no larger than 64KiB. For
// [HSM][google.cloud.kms.v1.ProtectionLevel.HSM] keys, the combined length of
// the plaintext and additional_authenticated_data fields must be no larger
// than 8KiB.
AdditionalAuthenticatedData []byte `protobuf:"bytes,3,opt,name=additional_authenticated_data,json=additionalAuthenticatedData,proto3" json:"additional_authenticated_data,omitempty"`
// Optional. An optional CRC32C checksum of the
// [RawEncryptRequest.plaintext][google.cloud.kms.v1.RawEncryptRequest.plaintext].
// If specified,
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will
// verify the integrity of the received plaintext using this checksum.
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will
// report an error if the checksum verification fails. If you receive a
// checksum error, your client should verify that CRC32C(plaintext) is equal
// to plaintext_crc32c, and if so, perform a limited number of retries. A
// persistent mismatch may indicate an issue in your computation of the CRC32C
// checksum. Note: This field is defined as int64 for reasons of compatibility
// across different languages. However, it is a non-negative integer, which
// will never exceed 2^32-1, and can be safely downconverted to uint32 in
// languages that support this type.
PlaintextCrc32C *wrapperspb.Int64Value `protobuf:"bytes,4,opt,name=plaintext_crc32c,json=plaintextCrc32c,proto3" json:"plaintext_crc32c,omitempty"`
// Optional. An optional CRC32C checksum of the
// [RawEncryptRequest.additional_authenticated_data][google.cloud.kms.v1.RawEncryptRequest.additional_authenticated_data].
// If specified,
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will
// verify the integrity of the received additional_authenticated_data using
// this checksum.
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will
// report an error if the checksum verification fails. If you receive a
// checksum error, your client should verify that
// CRC32C(additional_authenticated_data) is equal to
// additional_authenticated_data_crc32c, and if so, perform
// a limited number of retries. A persistent mismatch may indicate an issue in
// your computation of the CRC32C checksum.
// Note: This field is defined as int64 for reasons of compatibility across
// different languages. However, it is a non-negative integer, which will
// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
// that support this type.
AdditionalAuthenticatedDataCrc32C *wrapperspb.Int64Value `protobuf:"bytes,5,opt,name=additional_authenticated_data_crc32c,json=additionalAuthenticatedDataCrc32c,proto3" json:"additional_authenticated_data_crc32c,omitempty"`
// Optional. A customer-supplied initialization vector that will be used for
// encryption. If it is not provided for AES-CBC and AES-CTR, one will be
// generated. It will be returned in
// [RawEncryptResponse.initialization_vector][google.cloud.kms.v1.RawEncryptResponse.initialization_vector].
InitializationVector []byte `protobuf:"bytes,6,opt,name=initialization_vector,json=initializationVector,proto3" json:"initialization_vector,omitempty"`
// Optional. An optional CRC32C checksum of the
// [RawEncryptRequest.initialization_vector][google.cloud.kms.v1.RawEncryptRequest.initialization_vector].
// If specified,
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] will
// verify the integrity of the received initialization_vector using this
// checksum. [KeyManagementService][google.cloud.kms.v1.KeyManagementService]
// will report an error if the checksum verification fails. If you receive a
// checksum error, your client should verify that
// CRC32C(initialization_vector) is equal to
// initialization_vector_crc32c, and if so, perform
// a limited number of retries. A persistent mismatch may indicate an issue in
// your computation of the CRC32C checksum.
// Note: This field is defined as int64 for reasons of compatibility across
// different languages. However, it is a non-negative integer, which will
// never exceed 2^32-1, and can be safely downconverted to uint32 in languages
// that support this type.
InitializationVectorCrc32C *wrapperspb.Int64Value `protobuf:"bytes,7,opt,name=initialization_vector_crc32c,json=initializationVectorCrc32c,proto3" json:"initialization_vector_crc32c,omitempty"`
// contains filtered or unexported fields
}Request message for [KeyManagementService.RawEncrypt][google.cloud.kms.v1.KeyManagementService.RawEncrypt].
func (*RawEncryptRequest) Descriptor
func (*RawEncryptRequest) Descriptor() ([]byte, []int)Deprecated: Use RawEncryptRequest.ProtoReflect.Descriptor instead.
func (*RawEncryptRequest) GetAdditionalAuthenticatedData
func (x *RawEncryptRequest) GetAdditionalAuthenticatedData() []bytefunc (*RawEncryptRequest) GetAdditionalAuthenticatedDataCrc32C
func (x *RawEncryptRequest) GetAdditionalAuthenticatedDataCrc32C() *wrapperspb.Int64Valuefunc (*RawEncryptRequest) GetInitializationVector
func (x *RawEncryptRequest) GetInitializationVector() []bytefunc (*RawEncryptRequest) GetInitializationVectorCrc32C
func (x *RawEncryptRequest) GetInitializationVectorCrc32C() *wrapperspb.Int64Valuefunc (*RawEncryptRequest) GetName
func (x *RawEncryptRequest) GetName() stringfunc (*RawEncryptRequest) GetPlaintext
func (x *RawEncryptRequest) GetPlaintext() []bytefunc (*RawEncryptRequest) GetPlaintextCrc32C
func (x *RawEncryptRequest) GetPlaintextCrc32C() *wrapperspb.Int64Valuefunc (*RawEncryptRequest) ProtoMessage
func (*RawEncryptRequest) ProtoMessage()func (*RawEncryptRequest) ProtoReflect
func (x *RawEncryptRequest) ProtoReflect() protoreflect.Messagefunc (*RawEncryptRequest) Reset
func (x *RawEncryptRequest) Reset()func (*RawEncryptRequest) String
func (x *RawEncryptRequest) String() stringRawEncryptResponse
type RawEncryptResponse struct {
// The encrypted data. In the case of AES-GCM, the authentication tag
// is the [tag_length][google.cloud.kms.v1.RawEncryptResponse.tag_length]
// bytes at the end of this field.
Ciphertext []byte `protobuf:"bytes,1,opt,name=ciphertext,proto3" json:"ciphertext,omitempty"`
// The initialization vector (IV) generated by the service during
// encryption. This value must be stored and provided in
// [RawDecryptRequest.initialization_vector][google.cloud.kms.v1.RawDecryptRequest.initialization_vector]
// at decryption time.
InitializationVector []byte `protobuf:"bytes,2,opt,name=initialization_vector,json=initializationVector,proto3" json:"initialization_vector,omitempty"`
// The length of the authentication tag that is appended to
// the end of the ciphertext.
TagLength int32 `protobuf:"varint,3,opt,name=tag_length,json=tagLength,proto3" json:"tag_length,omitempty"`
// Integrity verification field. A CRC32C checksum of the returned
// [RawEncryptResponse.ciphertext][google.cloud.kms.v1.RawEncryptResponse.ciphertext].
// An integrity check of ciphertext can be performed by computing the CRC32C
// checksum of ciphertext and comparing your results to this field. Discard
// the response in case of non-matching checksum values, and perform a limited
// number of retries. A persistent mismatch may indicate an issue in your
// computation of the CRC32C checksum. Note: This field is defined as int64
// for reasons of compatibility across different languages. However, it is a
// non-negative integer, which will never exceed 2^32-1, and can be safely
// downconverted to uint32 in languages that support this type.
CiphertextCrc32C *wrapperspb.Int64Value `protobuf:"bytes,4,opt,name=ciphertext_crc32c,json=ciphertextCrc32c,proto3" json:"ciphertext_crc32c,omitempty"`
// Integrity verification field. A CRC32C checksum of the returned
// [RawEncryptResponse.initialization_vector][google.cloud.kms.v1.RawEncryptResponse.initialization_vector].
// An integrity check of initialization_vector can be performed by computing
// the CRC32C checksum of initialization_vector and comparing your results to
// this field. Discard the response in case of non-matching checksum values,
// and perform a limited number of retries. A persistent mismatch may indicate
// an issue in your computation of the CRC32C checksum. Note: This field is
// defined as int64 for reasons of compatibility across different languages.
// However, it is a non-negative integer, which will never exceed 2^32-1, and
// can be safely downconverted to uint32 in languages that support this type.
InitializationVectorCrc32C *wrapperspb.Int64Value `protobuf:"bytes,5,opt,name=initialization_vector_crc32c,json=initializationVectorCrc32c,proto3" json:"initialization_vector_crc32c,omitempty"`
// Integrity verification field. A flag indicating whether
// [RawEncryptRequest.plaintext_crc32c][google.cloud.kms.v1.RawEncryptRequest.plaintext_crc32c]
// was received by
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used
// for the integrity verification of the plaintext. A false value of this
// field indicates either that
// [RawEncryptRequest.plaintext_crc32c][google.cloud.kms.v1.RawEncryptRequest.plaintext_crc32c]
// was left unset or that it was not delivered to
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've
// set
// [RawEncryptRequest.plaintext_crc32c][google.cloud.kms.v1.RawEncryptRequest.plaintext_crc32c]
// but this field is still false, discard the response and perform a limited
// number of retries.
VerifiedPlaintextCrc32C bool `protobuf:"varint,6,opt,name=verified_plaintext_crc32c,json=verifiedPlaintextCrc32c,proto3" json:"verified_plaintext_crc32c,omitempty"`
// Integrity verification field. A flag indicating whether
// [RawEncryptRequest.additional_authenticated_data_crc32c][google.cloud.kms.v1.RawEncryptRequest.additional_authenticated_data_crc32c]
// was received by
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used
// for the integrity verification of additional_authenticated_data. A false
// value of this field indicates either that //
// [RawEncryptRequest.additional_authenticated_data_crc32c][google.cloud.kms.v1.RawEncryptRequest.additional_authenticated_data_crc32c]
// was left unset or that it was not delivered to
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've
// set
// [RawEncryptRequest.additional_authenticated_data_crc32c][google.cloud.kms.v1.RawEncryptRequest.additional_authenticated_data_crc32c]
// but this field is still false, discard the response and perform a limited
// number of retries.
VerifiedAdditionalAuthenticatedDataCrc32C bool `protobuf:"varint,7,opt,name=verified_additional_authenticated_data_crc32c,json=verifiedAdditionalAuthenticatedDataCrc32c,proto3" json:"verified_additional_authenticated_data_crc32c,omitempty"`
// Integrity verification field. A flag indicating whether
// [RawEncryptRequest.initialization_vector_crc32c][google.cloud.kms.v1.RawEncryptRequest.initialization_vector_crc32c]
// was received by
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService] and used
// for the integrity verification of initialization_vector. A false value of
// this field indicates either that
// [RawEncryptRequest.initialization_vector_crc32c][google.cloud.kms.v1.RawEncryptRequest.initialization_vector_crc32c]
// was left unset or that it was not delivered to
// [KeyManagementService][google.cloud.kms.v1.KeyManagementService]. If you've
// set
// [RawEncryptRequest.initialization_vector_crc32c][google.cloud.kms.v1.RawEncryptRequest.initialization_vector_crc32c]
// but this field is still false, discard the response and perform a limited
// number of retries.
VerifiedInitializationVectorCrc32C bool `protobuf:"varint,10,opt,name=verified_initialization_vector_crc32c,json=verifiedInitializationVectorCrc32c,proto3" json:"verified_initialization_vector_crc32c,omitempty"`
// The resource name of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used in
// encryption. Check this field to verify that the intended resource was used
// for encryption.
Name string `protobuf:"bytes,8,opt,name=name,proto3" json:"name,omitempty"`
// The [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] used in
// encryption.
ProtectionLevel ProtectionLevel `protobuf:"varint,9,opt,name=protection_level,json=protectionLevel,proto3,enum=google.cloud.kms.v1.ProtectionLevel" json:"protection_level,omitempty"`
// contains filtered or unexported fields
}Response message for [KeyManagementService.RawEncrypt][google.cloud.kms.v1.KeyManagementService.RawEncrypt].
func (*RawEncryptResponse) Descriptor
func (*RawEncryptResponse) Descriptor() ([]byte, []int)Deprecated: Use RawEncryptResponse.ProtoReflect.Descriptor instead.
func (*RawEncryptResponse) GetCiphertext
func (x *RawEncryptResponse) GetCiphertext() []bytefunc (*RawEncryptResponse) GetCiphertextCrc32C
func (x *RawEncryptResponse) GetCiphertextCrc32C() *wrapperspb.Int64Valuefunc (*RawEncryptResponse) GetInitializationVector
func (x *RawEncryptResponse) GetInitializationVector() []bytefunc (*RawEncryptResponse) GetInitializationVectorCrc32C
func (x *RawEncryptResponse) GetInitializationVectorCrc32C() *wrapperspb.Int64Valuefunc (*RawEncryptResponse) GetName
func (x *RawEncryptResponse) GetName() stringfunc (*RawEncryptResponse) GetProtectionLevel
func (x *RawEncryptResponse) GetProtectionLevel() ProtectionLevelfunc (*RawEncryptResponse) GetTagLength
func (x *RawEncryptResponse) GetTagLength() int32func (*RawEncryptResponse) GetVerifiedAdditionalAuthenticatedDataCrc32C
func (x *RawEncryptResponse) GetVerifiedAdditionalAuthenticatedDataCrc32C() boolfunc (*RawEncryptResponse) GetVerifiedInitializationVectorCrc32C
func (x *RawEncryptResponse) GetVerifiedInitializationVectorCrc32C() boolfunc (*RawEncryptResponse) GetVerifiedPlaintextCrc32C
func (x *RawEncryptResponse) GetVerifiedPlaintextCrc32C() boolfunc (*RawEncryptResponse) ProtoMessage
func (*RawEncryptResponse) ProtoMessage()func (*RawEncryptResponse) ProtoReflect
func (x *RawEncryptResponse) ProtoReflect() protoreflect.Messagefunc (*RawEncryptResponse) Reset
func (x *RawEncryptResponse) Reset()func (*RawEncryptResponse) String
func (x *RawEncryptResponse) String() stringRestoreCryptoKeyVersionRequest
type RestoreCryptoKeyVersionRequest struct {
// Required. The resource name of the
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to restore.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// contains filtered or unexported fields
}Request message for [KeyManagementService.RestoreCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.RestoreCryptoKeyVersion].
func (*RestoreCryptoKeyVersionRequest) Descriptor
func (*RestoreCryptoKeyVersionRequest) Descriptor() ([]byte, []int)Deprecated: Use RestoreCryptoKeyVersionRequest.ProtoReflect.Descriptor instead.
func (*RestoreCryptoKeyVersionRequest) GetName
func (x *RestoreCryptoKeyVersionRequest) GetName() stringfunc (*RestoreCryptoKeyVersionRequest) ProtoMessage
func (*RestoreCryptoKeyVersionRequest) ProtoMessage()func (*RestoreCryptoKeyVersionRequest) ProtoReflect
func (x *RestoreCryptoKeyVersionRequest) ProtoReflect() protoreflect.Messagefunc (*RestoreCryptoKeyVersionRequest) Reset
func (x *RestoreCryptoKeyVersionRequest) Reset()func (*RestoreCryptoKeyVersionRequest) String
func (x *RestoreCryptoKeyVersionRequest) String() stringShowEffectiveAutokeyConfigRequest
type ShowEffectiveAutokeyConfigRequest struct {
// Required. Name of the resource project to the show effective Cloud KMS
// Autokey configuration for. This may be helpful for interrogating the effect
// of nested folder configurations on a given resource project.
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// contains filtered or unexported fields
}Request message for [ShowEffectiveAutokeyConfig][google.cloud.kms.v1.AutokeyAdmin.ShowEffectiveAutokeyConfig].
func (*ShowEffectiveAutokeyConfigRequest) Descriptor
func (*ShowEffectiveAutokeyConfigRequest) Descriptor() ([]byte, []int)Deprecated: Use ShowEffectiveAutokeyConfigRequest.ProtoReflect.Descriptor instead.
func (*ShowEffectiveAutokeyConfigRequest) GetParent
func (x *ShowEffectiveAutokeyConfigRequest) GetParent() stringfunc (*ShowEffectiveAutokeyConfigRequest) ProtoMessage
func (*ShowEffectiveAutokeyConfigRequest) ProtoMessage()func (*ShowEffectiveAutokeyConfigRequest) ProtoReflect
func (x *ShowEffectiveAutokeyConfigRequest) ProtoReflect() protoreflect.Messagefunc (*ShowEffectiveAutokeyConfigRequest) Reset
func (x *ShowEffectiveAutokeyConfigRequest) Reset()func (*ShowEffectiveAutokeyConfigRequest) String
func (x *ShowEffectiveAutokeyConfigRequest) String() stringShowEffectiveAutokeyConfigResponse
type ShowEffectiveAutokeyConfigResponse struct {
// Name of the key project configured in the resource project's folder
// ancestry.
KeyProject string `protobuf:"bytes,1,opt,name=key_project,json=keyProject,proto3" json:"key_project,omitempty"`
// contains filtered or unexported fields
}Response message for [ShowEffectiveAutokeyConfig][google.cloud.kms.v1.AutokeyAdmin.ShowEffectiveAutokeyConfig].
func (*ShowEffectiveAutokeyConfigResponse) Descriptor
func (*ShowEffectiveAutokeyConfigResponse) Descriptor() ([]byte, []int)Deprecated: Use ShowEffectiveAutokeyConfigResponse.ProtoReflect.Descriptor instead.
func (*ShowEffectiveAutokeyConfigResponse) GetKeyProject
func (x *ShowEffectiveAutokeyConfigResponse) GetKeyProject() stringfunc (*ShowEffectiveAutokeyConfigResponse) ProtoMessage
func (*ShowEffectiveAutokeyConfigResponse) ProtoMessage()func (*ShowEffectiveAutokeyConfigResponse) ProtoReflect
func (x *ShowEffectiveAutokeyConfigResponse) ProtoReflect() protoreflect.Messagefunc (*ShowEffectiveAutokeyConfigResponse) Reset
func (x *ShowEffectiveAutokeyConfigResponse) Reset()func (*ShowEffectiveAutokeyConfigResponse) String
func (x *ShowEffectiveAutokeyConfigResponse) String() stringUnimplementedAutokeyAdminServer
type UnimplementedAutokeyAdminServer struct {
}UnimplementedAutokeyAdminServer should be embedded to have forward compatible implementations.
func (UnimplementedAutokeyAdminServer) GetAutokeyConfig
func (UnimplementedAutokeyAdminServer) GetAutokeyConfig(context.Context, *GetAutokeyConfigRequest) (*AutokeyConfig, error)func (UnimplementedAutokeyAdminServer) ShowEffectiveAutokeyConfig
func (UnimplementedAutokeyAdminServer) ShowEffectiveAutokeyConfig(context.Context, *ShowEffectiveAutokeyConfigRequest) (*ShowEffectiveAutokeyConfigResponse, error)func (UnimplementedAutokeyAdminServer) UpdateAutokeyConfig
func (UnimplementedAutokeyAdminServer) UpdateAutokeyConfig(context.Context, *UpdateAutokeyConfigRequest) (*AutokeyConfig, error)UnimplementedAutokeyServer
type UnimplementedAutokeyServer struct {
}UnimplementedAutokeyServer should be embedded to have forward compatible implementations.
func (UnimplementedAutokeyServer) CreateKeyHandle
func (UnimplementedAutokeyServer) CreateKeyHandle(context.Context, *CreateKeyHandleRequest) (*longrunningpb.Operation, error)func (UnimplementedAutokeyServer) GetKeyHandle
func (UnimplementedAutokeyServer) GetKeyHandle(context.Context, *GetKeyHandleRequest) (*KeyHandle, error)func (UnimplementedAutokeyServer) ListKeyHandles
func (UnimplementedAutokeyServer) ListKeyHandles(context.Context, *ListKeyHandlesRequest) (*ListKeyHandlesResponse, error)UnimplementedEkmServiceServer
type UnimplementedEkmServiceServer struct {
}UnimplementedEkmServiceServer should be embedded to have forward compatible implementations.
func (UnimplementedEkmServiceServer) CreateEkmConnection
func (UnimplementedEkmServiceServer) CreateEkmConnection(context.Context, *CreateEkmConnectionRequest) (*EkmConnection, error)func (UnimplementedEkmServiceServer) GetEkmConfig
func (UnimplementedEkmServiceServer) GetEkmConfig(context.Context, *GetEkmConfigRequest) (*EkmConfig, error)func (UnimplementedEkmServiceServer) GetEkmConnection
func (UnimplementedEkmServiceServer) GetEkmConnection(context.Context, *GetEkmConnectionRequest) (*EkmConnection, error)func (UnimplementedEkmServiceServer) ListEkmConnections
func (UnimplementedEkmServiceServer) ListEkmConnections(context.Context, *ListEkmConnectionsRequest) (*ListEkmConnectionsResponse, error)func (UnimplementedEkmServiceServer) UpdateEkmConfig
func (UnimplementedEkmServiceServer) UpdateEkmConfig(context.Context, *UpdateEkmConfigRequest) (*EkmConfig, error)func (UnimplementedEkmServiceServer) UpdateEkmConnection
func (UnimplementedEkmServiceServer) UpdateEkmConnection(context.Context, *UpdateEkmConnectionRequest) (*EkmConnection, error)func (UnimplementedEkmServiceServer) VerifyConnectivity
func (UnimplementedEkmServiceServer) VerifyConnectivity(context.Context, *VerifyConnectivityRequest) (*VerifyConnectivityResponse, error)UnimplementedKeyManagementServiceServer
type UnimplementedKeyManagementServiceServer struct {
}UnimplementedKeyManagementServiceServer should be embedded to have forward compatible implementations.
func (UnimplementedKeyManagementServiceServer) AsymmetricDecrypt
func (UnimplementedKeyManagementServiceServer) AsymmetricDecrypt(context.Context, *AsymmetricDecryptRequest) (*AsymmetricDecryptResponse, error)func (UnimplementedKeyManagementServiceServer) AsymmetricSign
func (UnimplementedKeyManagementServiceServer) AsymmetricSign(context.Context, *AsymmetricSignRequest) (*AsymmetricSignResponse, error)func (UnimplementedKeyManagementServiceServer) CreateCryptoKey
func (UnimplementedKeyManagementServiceServer) CreateCryptoKey(context.Context, *CreateCryptoKeyRequest) (*CryptoKey, error)func (UnimplementedKeyManagementServiceServer) CreateCryptoKeyVersion
func (UnimplementedKeyManagementServiceServer) CreateCryptoKeyVersion(context.Context, *CreateCryptoKeyVersionRequest) (*CryptoKeyVersion, error)func (UnimplementedKeyManagementServiceServer) CreateImportJob
func (UnimplementedKeyManagementServiceServer) CreateImportJob(context.Context, *CreateImportJobRequest) (*ImportJob, error)func (UnimplementedKeyManagementServiceServer) CreateKeyRing
func (UnimplementedKeyManagementServiceServer) CreateKeyRing(context.Context, *CreateKeyRingRequest) (*KeyRing, error)func (UnimplementedKeyManagementServiceServer) Decapsulate
func (UnimplementedKeyManagementServiceServer) Decapsulate(context.Context, *DecapsulateRequest) (*DecapsulateResponse, error)func (UnimplementedKeyManagementServiceServer) Decrypt
func (UnimplementedKeyManagementServiceServer) Decrypt(context.Context, *DecryptRequest) (*DecryptResponse, error)func (UnimplementedKeyManagementServiceServer) DestroyCryptoKeyVersion
func (UnimplementedKeyManagementServiceServer) DestroyCryptoKeyVersion(context.Context, *DestroyCryptoKeyVersionRequest) (*CryptoKeyVersion, error)func (UnimplementedKeyManagementServiceServer) Encrypt
func (UnimplementedKeyManagementServiceServer) Encrypt(context.Context, *EncryptRequest) (*EncryptResponse, error)func (UnimplementedKeyManagementServiceServer) GenerateRandomBytes
func (UnimplementedKeyManagementServiceServer) GenerateRandomBytes(context.Context, *GenerateRandomBytesRequest) (*GenerateRandomBytesResponse, error)func (UnimplementedKeyManagementServiceServer) GetCryptoKey
func (UnimplementedKeyManagementServiceServer) GetCryptoKey(context.Context, *GetCryptoKeyRequest) (*CryptoKey, error)func (UnimplementedKeyManagementServiceServer) GetCryptoKeyVersion
func (UnimplementedKeyManagementServiceServer) GetCryptoKeyVersion(context.Context, *GetCryptoKeyVersionRequest) (*CryptoKeyVersion, error)func (UnimplementedKeyManagementServiceServer) GetImportJob
func (UnimplementedKeyManagementServiceServer) GetImportJob(context.Context, *GetImportJobRequest) (*ImportJob, error)func (UnimplementedKeyManagementServiceServer) GetKeyRing
func (UnimplementedKeyManagementServiceServer) GetKeyRing(context.Context, *GetKeyRingRequest) (*KeyRing, error)func (UnimplementedKeyManagementServiceServer) GetPublicKey
func (UnimplementedKeyManagementServiceServer) GetPublicKey(context.Context, *GetPublicKeyRequest) (*PublicKey, error)func (UnimplementedKeyManagementServiceServer) ImportCryptoKeyVersion
func (UnimplementedKeyManagementServiceServer) ImportCryptoKeyVersion(context.Context, *ImportCryptoKeyVersionRequest) (*CryptoKeyVersion, error)func (UnimplementedKeyManagementServiceServer) ListCryptoKeyVersions
func (UnimplementedKeyManagementServiceServer) ListCryptoKeyVersions(context.Context, *ListCryptoKeyVersionsRequest) (*ListCryptoKeyVersionsResponse, error)func (UnimplementedKeyManagementServiceServer) ListCryptoKeys
func (UnimplementedKeyManagementServiceServer) ListCryptoKeys(context.Context, *ListCryptoKeysRequest) (*ListCryptoKeysResponse, error)func (UnimplementedKeyManagementServiceServer) ListImportJobs
func (UnimplementedKeyManagementServiceServer) ListImportJobs(context.Context, *ListImportJobsRequest) (*ListImportJobsResponse, error)func (UnimplementedKeyManagementServiceServer) ListKeyRings
func (UnimplementedKeyManagementServiceServer) ListKeyRings(context.Context, *ListKeyRingsRequest) (*ListKeyRingsResponse, error)func (UnimplementedKeyManagementServiceServer) MacSign
func (UnimplementedKeyManagementServiceServer) MacSign(context.Context, *MacSignRequest) (*MacSignResponse, error)func (UnimplementedKeyManagementServiceServer) MacVerify
func (UnimplementedKeyManagementServiceServer) MacVerify(context.Context, *MacVerifyRequest) (*MacVerifyResponse, error)func (UnimplementedKeyManagementServiceServer) RawDecrypt
func (UnimplementedKeyManagementServiceServer) RawDecrypt(context.Context, *RawDecryptRequest) (*RawDecryptResponse, error)func (UnimplementedKeyManagementServiceServer) RawEncrypt
func (UnimplementedKeyManagementServiceServer) RawEncrypt(context.Context, *RawEncryptRequest) (*RawEncryptResponse, error)func (UnimplementedKeyManagementServiceServer) RestoreCryptoKeyVersion
func (UnimplementedKeyManagementServiceServer) RestoreCryptoKeyVersion(context.Context, *RestoreCryptoKeyVersionRequest) (*CryptoKeyVersion, error)func (UnimplementedKeyManagementServiceServer) UpdateCryptoKey
func (UnimplementedKeyManagementServiceServer) UpdateCryptoKey(context.Context, *UpdateCryptoKeyRequest) (*CryptoKey, error)func (UnimplementedKeyManagementServiceServer) UpdateCryptoKeyPrimaryVersion
func (UnimplementedKeyManagementServiceServer) UpdateCryptoKeyPrimaryVersion(context.Context, *UpdateCryptoKeyPrimaryVersionRequest) (*CryptoKey, error)func (UnimplementedKeyManagementServiceServer) UpdateCryptoKeyVersion
func (UnimplementedKeyManagementServiceServer) UpdateCryptoKeyVersion(context.Context, *UpdateCryptoKeyVersionRequest) (*CryptoKeyVersion, error)UnsafeAutokeyAdminServer
type UnsafeAutokeyAdminServer interface {
// contains filtered or unexported methods
}UnsafeAutokeyAdminServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to AutokeyAdminServer will result in compilation errors.
UnsafeAutokeyServer
type UnsafeAutokeyServer interface {
// contains filtered or unexported methods
}UnsafeAutokeyServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to AutokeyServer will result in compilation errors.
UnsafeEkmServiceServer
type UnsafeEkmServiceServer interface {
// contains filtered or unexported methods
}UnsafeEkmServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to EkmServiceServer will result in compilation errors.
UnsafeKeyManagementServiceServer
type UnsafeKeyManagementServiceServer interface {
// contains filtered or unexported methods
}UnsafeKeyManagementServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to KeyManagementServiceServer will result in compilation errors.
UpdateAutokeyConfigRequest
type UpdateAutokeyConfigRequest struct {
// Required. [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig] with values to
// update.
AutokeyConfig *AutokeyConfig `protobuf:"bytes,1,opt,name=autokey_config,json=autokeyConfig,proto3" json:"autokey_config,omitempty"`
// Required. Masks which fields of the
// [AutokeyConfig][google.cloud.kms.v1.AutokeyConfig] to update, e.g.
// `keyProject`.
UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
// contains filtered or unexported fields
}Request message for [UpdateAutokeyConfig][google.cloud.kms.v1.AutokeyAdmin.UpdateAutokeyConfig].
func (*UpdateAutokeyConfigRequest) Descriptor
func (*UpdateAutokeyConfigRequest) Descriptor() ([]byte, []int)Deprecated: Use UpdateAutokeyConfigRequest.ProtoReflect.Descriptor instead.
func (*UpdateAutokeyConfigRequest) GetAutokeyConfig
func (x *UpdateAutokeyConfigRequest) GetAutokeyConfig() *AutokeyConfigfunc (*UpdateAutokeyConfigRequest) GetUpdateMask
func (x *UpdateAutokeyConfigRequest) GetUpdateMask() *fieldmaskpb.FieldMaskfunc (*UpdateAutokeyConfigRequest) ProtoMessage
func (*UpdateAutokeyConfigRequest) ProtoMessage()func (*UpdateAutokeyConfigRequest) ProtoReflect
func (x *UpdateAutokeyConfigRequest) ProtoReflect() protoreflect.Messagefunc (*UpdateAutokeyConfigRequest) Reset
func (x *UpdateAutokeyConfigRequest) Reset()func (*UpdateAutokeyConfigRequest) String
func (x *UpdateAutokeyConfigRequest) String() stringUpdateCryptoKeyPrimaryVersionRequest
type UpdateCryptoKeyPrimaryVersionRequest struct {
// Required. The resource name of the
// [CryptoKey][google.cloud.kms.v1.CryptoKey] to update.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Required. The id of the child
// [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] to use as primary.
CryptoKeyVersionId string `protobuf:"bytes,2,opt,name=crypto_key_version_id,json=cryptoKeyVersionId,proto3" json:"crypto_key_version_id,omitempty"`
// contains filtered or unexported fields
}Request message for [KeyManagementService.UpdateCryptoKeyPrimaryVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion].
func (*UpdateCryptoKeyPrimaryVersionRequest) Descriptor
func (*UpdateCryptoKeyPrimaryVersionRequest) Descriptor() ([]byte, []int)Deprecated: Use UpdateCryptoKeyPrimaryVersionRequest.ProtoReflect.Descriptor instead.
func (*UpdateCryptoKeyPrimaryVersionRequest) GetCryptoKeyVersionId
func (x *UpdateCryptoKeyPrimaryVersionRequest) GetCryptoKeyVersionId() stringfunc (*UpdateCryptoKeyPrimaryVersionRequest) GetName
func (x *UpdateCryptoKeyPrimaryVersionRequest) GetName() stringfunc (*UpdateCryptoKeyPrimaryVersionRequest) ProtoMessage
func (*UpdateCryptoKeyPrimaryVersionRequest) ProtoMessage()func (*UpdateCryptoKeyPrimaryVersionRequest) ProtoReflect
func (x *UpdateCryptoKeyPrimaryVersionRequest) ProtoReflect() protoreflect.Messagefunc (*UpdateCryptoKeyPrimaryVersionRequest) Reset
func (x *UpdateCryptoKeyPrimaryVersionRequest) Reset()func (*UpdateCryptoKeyPrimaryVersionRequest) String
func (x *UpdateCryptoKeyPrimaryVersionRequest) String() stringUpdateCryptoKeyRequest
type UpdateCryptoKeyRequest struct {
// Required. [CryptoKey][google.cloud.kms.v1.CryptoKey] with updated values.
CryptoKey *CryptoKey `protobuf:"bytes,1,opt,name=crypto_key,json=cryptoKey,proto3" json:"crypto_key,omitempty"`
// Required. List of fields to be updated in this request.
UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
// contains filtered or unexported fields
}Request message for [KeyManagementService.UpdateCryptoKey][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKey].
func (*UpdateCryptoKeyRequest) Descriptor
func (*UpdateCryptoKeyRequest) Descriptor() ([]byte, []int)Deprecated: Use UpdateCryptoKeyRequest.ProtoReflect.Descriptor instead.
func (*UpdateCryptoKeyRequest) GetCryptoKey
func (x *UpdateCryptoKeyRequest) GetCryptoKey() *CryptoKeyfunc (*UpdateCryptoKeyRequest) GetUpdateMask
func (x *UpdateCryptoKeyRequest) GetUpdateMask() *fieldmaskpb.FieldMaskfunc (*UpdateCryptoKeyRequest) ProtoMessage
func (*UpdateCryptoKeyRequest) ProtoMessage()func (*UpdateCryptoKeyRequest) ProtoReflect
func (x *UpdateCryptoKeyRequest) ProtoReflect() protoreflect.Messagefunc (*UpdateCryptoKeyRequest) Reset
func (x *UpdateCryptoKeyRequest) Reset()func (*UpdateCryptoKeyRequest) String
func (x *UpdateCryptoKeyRequest) String() stringUpdateCryptoKeyVersionRequest
type UpdateCryptoKeyVersionRequest struct {
// Required. [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] with
// updated values.
CryptoKeyVersion *CryptoKeyVersion `protobuf:"bytes,1,opt,name=crypto_key_version,json=cryptoKeyVersion,proto3" json:"crypto_key_version,omitempty"`
// Required. List of fields to be updated in this request.
UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
// contains filtered or unexported fields
}Request message for [KeyManagementService.UpdateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyVersion].
func (*UpdateCryptoKeyVersionRequest) Descriptor
func (*UpdateCryptoKeyVersionRequest) Descriptor() ([]byte, []int)Deprecated: Use UpdateCryptoKeyVersionRequest.ProtoReflect.Descriptor instead.
func (*UpdateCryptoKeyVersionRequest) GetCryptoKeyVersion
func (x *UpdateCryptoKeyVersionRequest) GetCryptoKeyVersion() *CryptoKeyVersionfunc (*UpdateCryptoKeyVersionRequest) GetUpdateMask
func (x *UpdateCryptoKeyVersionRequest) GetUpdateMask() *fieldmaskpb.FieldMaskfunc (*UpdateCryptoKeyVersionRequest) ProtoMessage
func (*UpdateCryptoKeyVersionRequest) ProtoMessage()func (*UpdateCryptoKeyVersionRequest) ProtoReflect
func (x *UpdateCryptoKeyVersionRequest) ProtoReflect() protoreflect.Messagefunc (*UpdateCryptoKeyVersionRequest) Reset
func (x *UpdateCryptoKeyVersionRequest) Reset()func (*UpdateCryptoKeyVersionRequest) String
func (x *UpdateCryptoKeyVersionRequest) String() stringUpdateEkmConfigRequest
type UpdateEkmConfigRequest struct {
// Required. [EkmConfig][google.cloud.kms.v1.EkmConfig] with updated values.
EkmConfig *EkmConfig `protobuf:"bytes,1,opt,name=ekm_config,json=ekmConfig,proto3" json:"ekm_config,omitempty"`
// Required. List of fields to be updated in this request.
UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
// contains filtered or unexported fields
}Request message for [EkmService.UpdateEkmConfig][google.cloud.kms.v1.EkmService.UpdateEkmConfig].
func (*UpdateEkmConfigRequest) Descriptor
func (*UpdateEkmConfigRequest) Descriptor() ([]byte, []int)Deprecated: Use UpdateEkmConfigRequest.ProtoReflect.Descriptor instead.
func (*UpdateEkmConfigRequest) GetEkmConfig
func (x *UpdateEkmConfigRequest) GetEkmConfig() *EkmConfigfunc (*UpdateEkmConfigRequest) GetUpdateMask
func (x *UpdateEkmConfigRequest) GetUpdateMask() *fieldmaskpb.FieldMaskfunc (*UpdateEkmConfigRequest) ProtoMessage
func (*UpdateEkmConfigRequest) ProtoMessage()func (*UpdateEkmConfigRequest) ProtoReflect
func (x *UpdateEkmConfigRequest) ProtoReflect() protoreflect.Messagefunc (*UpdateEkmConfigRequest) Reset
func (x *UpdateEkmConfigRequest) Reset()func (*UpdateEkmConfigRequest) String
func (x *UpdateEkmConfigRequest) String() stringUpdateEkmConnectionRequest
type UpdateEkmConnectionRequest struct {
// Required. [EkmConnection][google.cloud.kms.v1.EkmConnection] with updated
// values.
EkmConnection *EkmConnection `protobuf:"bytes,1,opt,name=ekm_connection,json=ekmConnection,proto3" json:"ekm_connection,omitempty"`
// Required. List of fields to be updated in this request.
UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
// contains filtered or unexported fields
}Request message for [EkmService.UpdateEkmConnection][google.cloud.kms.v1.EkmService.UpdateEkmConnection].
func (*UpdateEkmConnectionRequest) Descriptor
func (*UpdateEkmConnectionRequest) Descriptor() ([]byte, []int)Deprecated: Use UpdateEkmConnectionRequest.ProtoReflect.Descriptor instead.
func (*UpdateEkmConnectionRequest) GetEkmConnection
func (x *UpdateEkmConnectionRequest) GetEkmConnection() *EkmConnectionfunc (*UpdateEkmConnectionRequest) GetUpdateMask
func (x *UpdateEkmConnectionRequest) GetUpdateMask() *fieldmaskpb.FieldMaskfunc (*UpdateEkmConnectionRequest) ProtoMessage
func (*UpdateEkmConnectionRequest) ProtoMessage()func (*UpdateEkmConnectionRequest) ProtoReflect
func (x *UpdateEkmConnectionRequest) ProtoReflect() protoreflect.Messagefunc (*UpdateEkmConnectionRequest) Reset
func (x *UpdateEkmConnectionRequest) Reset()func (*UpdateEkmConnectionRequest) String
func (x *UpdateEkmConnectionRequest) String() stringVerifyConnectivityRequest
type VerifyConnectivityRequest struct {
// Required. The [name][google.cloud.kms.v1.EkmConnection.name] of the
// [EkmConnection][google.cloud.kms.v1.EkmConnection] to verify.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// contains filtered or unexported fields
}Request message for [EkmService.VerifyConnectivity][google.cloud.kms.v1.EkmService.VerifyConnectivity].
func (*VerifyConnectivityRequest) Descriptor
func (*VerifyConnectivityRequest) Descriptor() ([]byte, []int)Deprecated: Use VerifyConnectivityRequest.ProtoReflect.Descriptor instead.
func (*VerifyConnectivityRequest) GetName
func (x *VerifyConnectivityRequest) GetName() stringfunc (*VerifyConnectivityRequest) ProtoMessage
func (*VerifyConnectivityRequest) ProtoMessage()func (*VerifyConnectivityRequest) ProtoReflect
func (x *VerifyConnectivityRequest) ProtoReflect() protoreflect.Messagefunc (*VerifyConnectivityRequest) Reset
func (x *VerifyConnectivityRequest) Reset()func (*VerifyConnectivityRequest) String
func (x *VerifyConnectivityRequest) String() stringVerifyConnectivityResponse
type VerifyConnectivityResponse struct {
// contains filtered or unexported fields
}Response message for [EkmService.VerifyConnectivity][google.cloud.kms.v1.EkmService.VerifyConnectivity].
func (*VerifyConnectivityResponse) Descriptor
func (*VerifyConnectivityResponse) Descriptor() ([]byte, []int)Deprecated: Use VerifyConnectivityResponse.ProtoReflect.Descriptor instead.
func (*VerifyConnectivityResponse) ProtoMessage
func (*VerifyConnectivityResponse) ProtoMessage()func (*VerifyConnectivityResponse) ProtoReflect
func (x *VerifyConnectivityResponse) ProtoReflect() protoreflect.Messagefunc (*VerifyConnectivityResponse) Reset
func (x *VerifyConnectivityResponse) Reset()func (*VerifyConnectivityResponse) String
func (x *VerifyConnectivityResponse) String() string