namespace DodoSSH.Contracts; /// /// The kind of vault item a sync change refers to. /// /// /// Values are persisted in the change log and are part of the wire contract. Append only; /// never renumber. These mirror CryptoSpec.AadResourceType for the item types, but are /// a separate enum because only syncable items appear here. /// public enum SyncEntityType { /// Not a legal value. Unspecified = 0, /// An SSH host. Host = 1, /// A credential. Credential = 2, /// An SSH key pair. SshKey = 3, /// A host group. HostGroup = 4, /// A tag. Tag = 5, /// A host-to-tag association. HostTag = 6, /// A host-to-credential association. HostCredential = 7, /// A command snippet. Snippet = 8, /// A port forward. PortForward = 9, /// A known SSH host key. KnownHostKey = 10, /// One connection that was made, and how long it lasted. /// /// The first member added here since the contract was frozen; every one before it was reserved in /// advance. Logs are synced items rather than local files because they are audit records — an /// administrator has to be able to read a shared vault's history once teams land, and a log kept only on /// the machine that produced it can be neither read nor trusted by anybody else. See ADR 0001 for what /// that costs in metadata. /// ConnectionLogEntry = 11, /// One create, edit or delete of a vault item. /// ActivityLogEntry = 12, /// /// An S3-compatible bucket, and the credentials that reach it. /// /// /// Named for the protocol's shape rather than for Amazon, because what it addresses is any service /// speaking S3 — MinIO, R2, Backblaze, Ceph — and a member called S3 would read as a claim about /// the vendor. The interface says S3, which is what people call the protocol. /// ObjectStore = 13, /// /// A Spelunk API key, and the one Spelunk address it may be sent to. /// /// /// An item of its own rather than a credential's password, because the address is the point: a link from /// Spelunk can be sent by anything on the machine, so a key may only go where the user said it goes, and /// only an item that carries both can say so. See SpelunkKeySecret. /// SpelunkKey = 14, }