137 lines
6.4 KiB
Rust
137 lines
6.4 KiB
Rust
use super::{
|
|
AddressFamily, AddressFamilyDisposition, ArtifactLease, ArtifactState,
|
|
ConfigurationFingerprintRecordV1, 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, Participant, ParticipantOwnership,
|
|
ParticipantState, PermittedDestinationObservation, PersistedHostProcessOwnership,
|
|
PidfsProcessAuthorityV1, PidfsProcessIdentityV1, PolicyAction, PolicyDelivery, PrefixRule,
|
|
PrepareOperation, PreparedArtifact, PreparedLowerOwnership, ProcessOwnershipCommitAck,
|
|
ProcessOwnershipMessageVersion, ProtocolCredential, ProtocolCredentialRole,
|
|
ProtocolPublicationIdentity, PtyIdentity, PublicationOwnership, ResolvedAutoApprovalRule,
|
|
ResolvedVolume, Resolver, ResultStream, SandboxCredentialBundle, SandboxOwnership, Session,
|
|
SessionBinding, SessionClose, SessionExit, SessionExitOutcome, 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,
|
|
"TerminalOutput" => TerminalOutput,
|
|
"SessionExit" => SessionExit,
|
|
"SessionExitOutcome" => SessionExitOutcome,
|
|
"GenerationIdentity" => GenerationIdentity,
|
|
"TrustManifest" => TrustManifest,
|
|
"TlsCredential" => TlsCredential,
|
|
"ProtocolPublicationIdentity" => ProtocolPublicationIdentity,
|
|
"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,
|
|
"DomainStore" => DomainStore,
|
|
"StorageCatalog" => StorageCatalog;
|
|
);
|
|
|
|
pub const DECLARED_RUNTIME_SCHEMA_TYPE_NAMES: &[&str] = &[
|
|
"ResolvedDomainConfiguration",
|
|
"SandboxLayoutV1",
|
|
"ConfinedPathPlan",
|
|
];
|