[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[],[],null,["# Cloud KMS V1 Client - Class CryptoKeyVersionTemplate (2.3.1)\n\nVersion latestkeyboard_arrow_down\n\n- [2.3.1 (latest)](/php/docs/reference/cloud-kms/latest/V1.CryptoKeyVersionTemplate)\n- [2.3.0](/php/docs/reference/cloud-kms/2.3.0/V1.CryptoKeyVersionTemplate)\n- [2.2.0](/php/docs/reference/cloud-kms/2.2.0/V1.CryptoKeyVersionTemplate)\n- [2.1.6](/php/docs/reference/cloud-kms/2.1.6/V1.CryptoKeyVersionTemplate)\n- [2.0.0](/php/docs/reference/cloud-kms/2.0.0/V1.CryptoKeyVersionTemplate)\n- [1.23.0](/php/docs/reference/cloud-kms/1.23.0/V1.CryptoKeyVersionTemplate)\n- [1.22.1](/php/docs/reference/cloud-kms/1.22.1/V1.CryptoKeyVersionTemplate)\n- [1.21.4](/php/docs/reference/cloud-kms/1.21.4/V1.CryptoKeyVersionTemplate)\n- [1.20.3](/php/docs/reference/cloud-kms/1.20.3/V1.CryptoKeyVersionTemplate)\n- [1.19.0](/php/docs/reference/cloud-kms/1.19.0/V1.CryptoKeyVersionTemplate)\n- [1.18.1](/php/docs/reference/cloud-kms/1.18.1/V1.CryptoKeyVersionTemplate)\n- [1.17.0](/php/docs/reference/cloud-kms/1.17.0/V1.CryptoKeyVersionTemplate)\n- [1.16.4](/php/docs/reference/cloud-kms/1.16.4/V1.CryptoKeyVersionTemplate)\n- [1.15.3](/php/docs/reference/cloud-kms/1.15.3/V1.CryptoKeyVersionTemplate) \nReference documentation and code samples for the Cloud KMS V1 Client class CryptoKeyVersionTemplate.\n\nA [CryptoKeyVersionTemplate](/php/docs/reference/cloud-kms/latest/V1.CryptoKeyVersionTemplate)\nspecifies the properties to use when creating a new\n[CryptoKeyVersion](/php/docs/reference/cloud-kms/latest/V1.CryptoKeyVersion), either manually\nwith\n[CreateCryptoKeyVersion](/php/docs/reference/cloud-kms/latest/V1.Client.KeyManagementServiceClient#_Google_Cloud_Kms_V1_Client_KeyManagementServiceClient__createCryptoKeyVersion__)\nor automatically as a result of auto-rotation.\n\nGenerated from protobuf message `google.cloud.kms.v1.CryptoKeyVersionTemplate`\n\nNamespace\n---------\n\nGoogle \\\\ Cloud \\\\ Kms \\\\ V1\n\nMethods\n-------\n\n### __construct\n\nConstructor.\n\n### getProtectionLevel\n\n[ProtectionLevel](/php/docs/reference/cloud-kms/latest/V1.ProtectionLevel) to use when creating\na [CryptoKeyVersion](/php/docs/reference/cloud-kms/latest/V1.CryptoKeyVersion) based on this\ntemplate. Immutable. Defaults to\n[SOFTWARE](/php/docs/reference/cloud-kms/latest/V1.ProtectionLevel#_Google_Cloud_Kms_V1_ProtectionLevel__SOFTWARE).\n\n### setProtectionLevel\n\n[ProtectionLevel](/php/docs/reference/cloud-kms/latest/V1.ProtectionLevel) to use when creating\na [CryptoKeyVersion](/php/docs/reference/cloud-kms/latest/V1.CryptoKeyVersion) based on this\ntemplate. Immutable. Defaults to\n[SOFTWARE](/php/docs/reference/cloud-kms/latest/V1.ProtectionLevel#_Google_Cloud_Kms_V1_ProtectionLevel__SOFTWARE).\n\n### getAlgorithm\n\nRequired.\n\n[Algorithm](/php/docs/reference/cloud-kms/latest/V1.CryptoKeyVersion.CryptoKeyVersionAlgorithm)\nto use when creating a\n[CryptoKeyVersion](/php/docs/reference/cloud-kms/latest/V1.CryptoKeyVersion) based on this\ntemplate.\nFor backwards compatibility, GOOGLE_SYMMETRIC_ENCRYPTION is implied if both\nthis field is omitted and\n[CryptoKey.purpose](/php/docs/reference/cloud-kms/latest/V1.CryptoKey#_Google_Cloud_Kms_V1_CryptoKey__getPurpose__) is\n[ENCRYPT_DECRYPT](/php/docs/reference/cloud-kms/latest/V1.CryptoKey.CryptoKeyPurpose#_Google_Cloud_Kms_V1_CryptoKey_CryptoKeyPurpose__ENCRYPT_DECRYPT).\n\n### setAlgorithm\n\nRequired.\n\n[Algorithm](/php/docs/reference/cloud-kms/latest/V1.CryptoKeyVersion.CryptoKeyVersionAlgorithm)\nto use when creating a\n[CryptoKeyVersion](/php/docs/reference/cloud-kms/latest/V1.CryptoKeyVersion) based on this\ntemplate.\nFor backwards compatibility, GOOGLE_SYMMETRIC_ENCRYPTION is implied if both\nthis field is omitted and\n[CryptoKey.purpose](/php/docs/reference/cloud-kms/latest/V1.CryptoKey#_Google_Cloud_Kms_V1_CryptoKey__getPurpose__) is\n[ENCRYPT_DECRYPT](/php/docs/reference/cloud-kms/latest/V1.CryptoKey.CryptoKeyPurpose#_Google_Cloud_Kms_V1_CryptoKey_CryptoKeyPurpose__ENCRYPT_DECRYPT)."]]