lazaret/crates/lazaret-core/src/records/registry.rs

154 lines
7.8 KiB
Rust
Raw Normal View History

use super::{
AddressFamily, AddressFamilyDisposition, ArtifactLease, ArtifactState, ClientEnrollmentRequest,
ClientEnrollmentResponse, ConfigurationFingerprintRecordV1, ControlRequest, ControlResponse,
DefaultAction, DeniedDestinationObservation, DerivedNetworkPolicy, DeveloperDecision,
DeveloperDecisionKind, DnsObservation, Domain, DomainStore, DomainStoreMetadata,
EnvironmentReference, EscalationOutcome, Generation, GenerationIdentity, GitRoutingOwnership,
GuestProcessIdentity, HelperOwnership, HostProcessIdentity, HostProcessOwnershipSlot,
InteractiveSessionBatch, InteractiveSessionEvent, InteractiveSessionMessage,
InteractiveSessionRequest, Mailbox, MailboxCancellation, MailboxRequest, MailboxResult,
MailboxResultAck, MailboxResultChunk, MountIdentity, NamespaceIdentity, NetworkObservation,
NetworkOwnership, NetworkReachabilityProbe, NetworkReadinessAttestation,
NetworkReadinessEvidence, NetworkReadinessIdentity, NonInteractiveOutput,
NonInteractiveSessionMessage, NonInteractiveSessionRequest, Participant, ParticipantOwnership,
ParticipantState, PermittedDestinationObservation, PersistedHostProcessOwnership,
PidfsProcessAuthorityV1, PidfsProcessIdentityV1, PolicyAction, PolicyDelivery, PrefixRule,
PrepareOperation, PrepareStageState, PreparedArtifact, PreparedLowerOwnership,
ProcessOwnershipCommitAck, ProcessOwnershipMessageVersion, ProtocolCredential,
ProtocolCredentialRole, ProtocolPublicationIdentity, PtyIdentity, PublicationOwnership,
ResolvedAutoApprovalRule, ResolvedNetworkReadinessV1, ResolvedVolume, Resolver, ResultStream,
SandboxCredentialBundle, SandboxOwnership, Session, SessionBinding, SessionClose, SessionExit,
SessionExitOutcome, SessionRegistrationRequest, SessionRegistrationResponse,
SessionRequestCapability, SessionTerminal, SessionTerminalEvent, SessionTerminalMessage,
SessionTerminalState, SignedProtocolRecord, StagedProcessOwnership, StateAnchorOwnership,
StateAnchorReleaseEvidence, StorageCatalog, StorageCatalogMetadata, StoreMetadata,
TerminalInput, TerminalOutput, TerminalPrompt, TerminalResize, TerminalSignal,
TerminalSignalKind, TlsCredential, TlsRole, TrustManifest, TrustedHostConfigurationV1,
};
use crate::protocol::{BootstrapWaitOutcome, BootstrapWaitRequest};
pub trait SchemaType {
const NAME: &'static str;
}
macro_rules! schema_types {
($($name:literal => $record:ty),+ $(,)?) => {
$(
impl SchemaType for $record {
const NAME: &'static str = $name;
}
)+
pub const SERIALIZED_RECORD_TYPE_NAMES: &[&str] = &[$($name),+];
};
}
schema_types!(
"StoreMetadata" => StoreMetadata,
"DomainStoreMetadata" => DomainStoreMetadata,
"StorageCatalogMetadata" => StorageCatalogMetadata,
"Domain" => Domain,
"Generation" => Generation,
"Participant" => Participant,
"ParticipantState" => ParticipantState,
"ParticipantOwnership" => ParticipantOwnership,
"Session" => Session,
"SessionTerminal" => SessionTerminal,
"SessionTerminalState" => SessionTerminalState,
"Mailbox" => Mailbox,
"PtyIdentity" => PtyIdentity,
"PidfsProcessAuthorityV1" => PidfsProcessAuthorityV1,
"PidfsProcessIdentityV1" => PidfsProcessIdentityV1,
"HostProcessIdentity" => HostProcessIdentity,
"PersistedHostProcessOwnership" => PersistedHostProcessOwnership,
"HostProcessOwnershipSlot" => HostProcessOwnershipSlot,
"ProcessOwnershipMessageVersion" => ProcessOwnershipMessageVersion,
"StagedProcessOwnership" => StagedProcessOwnership,
"ProcessOwnershipCommitAck" => ProcessOwnershipCommitAck,
"GuestProcessIdentity" => GuestProcessIdentity,
"SessionTerminalEvent" => SessionTerminalEvent,
"TerminalInput" => TerminalInput,
"TerminalResize" => TerminalResize,
"TerminalSignal" => TerminalSignal,
"TerminalSignalKind" => TerminalSignalKind,
"SessionClose" => SessionClose,
"SessionTerminalMessage" => SessionTerminalMessage,
"InteractiveSessionRequest" => InteractiveSessionRequest,
"InteractiveSessionEvent" => InteractiveSessionEvent,
"InteractiveSessionMessage" => InteractiveSessionMessage,
"InteractiveSessionBatch" => InteractiveSessionBatch,
"TerminalPrompt" => TerminalPrompt,
"NonInteractiveSessionRequest" => NonInteractiveSessionRequest,
"NonInteractiveOutput" => NonInteractiveOutput,
"NonInteractiveSessionMessage" => NonInteractiveSessionMessage,
"TerminalOutput" => TerminalOutput,
"SessionExit" => SessionExit,
"SessionExitOutcome" => SessionExitOutcome,
"GenerationIdentity" => GenerationIdentity,
"TrustManifest" => TrustManifest,
"TlsCredential" => TlsCredential,
"ProtocolPublicationIdentity" => ProtocolPublicationIdentity,
"ClientEnrollmentRequest" => ClientEnrollmentRequest,
"ClientEnrollmentResponse" => ClientEnrollmentResponse,
"SessionRegistrationRequest" => SessionRegistrationRequest,
"SessionRegistrationResponse" => SessionRegistrationResponse,
"ControlRequest" => ControlRequest,
"ControlResponse" => ControlResponse,
"SandboxCredentialBundle" => SandboxCredentialBundle,
"TlsRole" => TlsRole,
"ProtocolCredential" => ProtocolCredential,
"ProtocolCredentialRole" => ProtocolCredentialRole,
"SessionBinding" => SessionBinding,
"SessionRequestCapability" => SessionRequestCapability,
"SignedProtocolRecord" => SignedProtocolRecord,
"MailboxRequest" => MailboxRequest,
"MailboxCancellation" => MailboxCancellation,
"MailboxResultAck" => MailboxResultAck,
"DeveloperDecision" => DeveloperDecision,
"DeveloperDecisionKind" => DeveloperDecisionKind,
"MailboxResult" => MailboxResult,
"MailboxResultChunk" => MailboxResultChunk,
"ResultStream" => ResultStream,
"EscalationOutcome" => EscalationOutcome,
"NamespaceIdentity" => NamespaceIdentity,
"MountIdentity" => MountIdentity,
"PreparedLowerOwnership" => PreparedLowerOwnership,
"StateAnchorReleaseEvidence" => StateAnchorReleaseEvidence,
"StateAnchorOwnership" => StateAnchorOwnership,
"GitRoutingOwnership" => GitRoutingOwnership,
"NetworkOwnership" => NetworkOwnership,
"HelperOwnership" => HelperOwnership,
"SandboxOwnership" => SandboxOwnership,
"PublicationOwnership" => PublicationOwnership,
"PreparedArtifact" => PreparedArtifact,
"ArtifactState" => ArtifactState,
"ArtifactLease" => ArtifactLease,
"PrepareOperation" => PrepareOperation,
"AddressFamilyDisposition" => AddressFamilyDisposition,
"DefaultAction" => DefaultAction,
"PrefixRule" => PrefixRule,
"Resolver" => Resolver,
"AddressFamily" => AddressFamily,
"PolicyAction" => PolicyAction,
"DerivedNetworkPolicy" => DerivedNetworkPolicy,
"NetworkReadinessEvidence" => NetworkReadinessEvidence,
"NetworkReadinessAttestation" => NetworkReadinessAttestation,
"NetworkObservation" => NetworkObservation,
"PolicyDelivery" => PolicyDelivery,
"NetworkReadinessIdentity" => NetworkReadinessIdentity,
"NetworkReachabilityProbe" => NetworkReachabilityProbe,
"DeniedDestinationObservation" => DeniedDestinationObservation,
"PermittedDestinationObservation" => PermittedDestinationObservation,
"DnsObservation" => DnsObservation,
"TrustedHostConfigurationV1" => TrustedHostConfigurationV1,
"ConfigurationFingerprintRecordV1" => ConfigurationFingerprintRecordV1,
"EnvironmentReference" => EnvironmentReference,
"ResolvedVolume" => ResolvedVolume,
"ResolvedAutoApprovalRule" => ResolvedAutoApprovalRule,
"ResolvedNetworkReadinessV1" => ResolvedNetworkReadinessV1,
"DomainStore" => DomainStore,
"StorageCatalog" => StorageCatalog,
"PrepareStageState" => PrepareStageState,
"BootstrapWaitRequest" => BootstrapWaitRequest,
"BootstrapWaitOutcome" => BootstrapWaitOutcome,
);