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

151 lines
7.3 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, EnvironmentReference,
EscalationOutcome, Generation, GenerationIdentity, GitRoutingOwnership, GuestProcessIdentity,
HelperOwnership, HostProcessIdentity, HostProcessOwnershipSlot, 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, StorageCatalog, StoreMetadata, TerminalInput, TerminalOutput,
TerminalResize, TerminalSignal, TerminalSignalKind, TlsCredential, TlsRole, TrustManifest,
TrustedHostConfigurationV1,
};
pub trait SchemaType {
const NAME: &'static str;
}
macro_rules! schema_types {
($($name:literal => $record:ty),+; $($declared:literal),* $(,)?) => {
$(
impl SchemaType for $record {
const NAME: &'static str = $name;
}
)+
pub const IMPLEMENTED_SERIALIZED_SCHEMA_TYPE_NAMES: &[&str] = &[$($name),+];
pub const DECLARED_SERIALIZED_SCHEMA_TYPE_NAMES: &[&str] = &[
$($name),+,
$($declared),*
];
};
}
schema_types!(
"StoreMetadata" => StoreMetadata,
"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,
"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,
"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;
);
pub const DECLARED_RUNTIME_SCHEMA_TYPE_NAMES: &[&str] = &[
"ResolvedDomainConfiguration",
"SandboxLayoutV1",
"ConfinedPathPlan",
];