public sealed class CryptoKeyVersionTemplate : IMessage<CryptoKeyVersionTemplate>, IEquatable<CryptoKeyVersionTemplate>, IDeepCloneable<CryptoKeyVersionTemplate>, IBufferMessage, IMessage
Reference documentation and code samples for the Google Cloud Key Management Service v1 API class CryptoKeyVersionTemplate.
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.
public CryptoKeyVersion.Types.CryptoKeyVersionAlgorithm Algorithm { get; set; }
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].
public ProtectionLevel ProtectionLevel { get; set; }
[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].
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThe latest version of the Google Cloud Key Management Service v1 API available is 3.16.0, with multiple previous versions also listed, including version 3.8.0 which is the reference for this particular content.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eCryptoKeyVersionTemplate\u003c/code\u003e class specifies properties for creating new \u003ccode\u003eCryptoKeyVersion\u003c/code\u003e objects, either manually or through auto-rotation, and implements multiple interfaces including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThis class has properties such as \u003ccode\u003eAlgorithm\u003c/code\u003e, which is a required field determining the algorithm used when creating a \u003ccode\u003eCryptoKeyVersion\u003c/code\u003e, and \u003ccode\u003eProtectionLevel\u003c/code\u003e, which is an immutable field specifying the protection level, defaulting to \u003ccode\u003eSOFTWARE\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eCryptoKeyVersionTemplate\u003c/code\u003e class includes two constructors, one default and one that takes another \u003ccode\u003eCryptoKeyVersionTemplate\u003c/code\u003e object as a parameter for copying.\u003c/p\u003e\n"],["\u003cp\u003eThis documentation also has a list of inherited members, such as GetHashCode(), GetType(), and ToString(), all from the object class.\u003c/p\u003e\n"]]],[],null,[]]