using System; namespace StellaOps.Cryptography.Kms; public sealed record GcpSignResult(string VersionName, byte[] Signature); public sealed record GcpCryptoKeyMetadata(string KeyName, string? PrimaryVersionName, DateTimeOffset CreateTime); public enum GcpCryptoKeyVersionState { Unspecified = 0, PendingGeneration = 1, Enabled = 2, Disabled = 3, DestroyScheduled = 4, Destroyed = 5, PendingImport = 6, ImportFailed = 7, GenerationFailed = 8, } public sealed record GcpCryptoKeyVersionMetadata( string VersionName, GcpCryptoKeyVersionState State, DateTimeOffset CreateTime, DateTimeOffset? DestroyTime); public sealed record GcpPublicKeyMaterial(string VersionName, string Algorithm, string Pem);