1#![forbid(unsafe_code)]
19#![deny(missing_docs)]
20
21mod audit;
22mod audit_types;
23mod collection;
24mod collection_build;
25mod collection_diff;
26mod collection_recompute;
27mod debug;
28mod dependency;
29mod derive;
30mod error;
31mod graph;
32mod graph_support;
33mod host_status;
34mod ids;
35mod input;
36mod model;
37mod node;
38mod oracle;
39mod output;
40mod output_build;
41mod output_reconcile;
42mod read;
43mod resource;
44mod resource_build;
45mod resource_reconcile;
46mod scope;
47mod scope_lifecycle;
48mod trace;
49mod transaction;
50mod transaction_build;
51mod transaction_trace_build;
52mod transaction_types;
53
54pub(crate) use audit_types::AuditState;
55pub use audit_types::{
56 NodeChangeExplanation, OutputFrameExplanation, ResourceCommandCause,
57 ResourceCommandExplanation, ScopeResourceInventory,
58};
59pub use collection::CollectionContext;
60pub use collection_diff::{Added, MapDiff, Removed, SetDiff, Unchanged, Updated};
61pub use dependency::DependencyList;
62pub use derive::{DeriveContext, DeriveError};
63pub use error::{
64 ErrorAuditEvent, ErrorCategory, ErrorTarget, GraphError, GraphResult, OutputError, PlanError,
65};
66pub use graph::Graph;
67pub use host_status::{HostResourceOutcome, HostResourceStatus};
68pub use ids::{NodeId, OutputKey, Revision, ScopeId, TransactionId};
69pub use node::{CollectionNode, DerivedNode, InputNode, NodeHandle, NodeKind, NodeMeta};
70pub use oracle::FullRecomputeCheck;
71pub use output::{
72 ClearReason, MaterializedOutput, OutputContext, OutputFrame, OutputFrameKind, OutputMeta,
73 OutputOptions, RebaselineReason,
74};
75pub use resource::{PlanContext, ResourceCommand, ResourceKey, ResourcePlan};
76pub use scope::ScopeMeta;
77pub use trace::{
78 OutputFrameKindTrace, OutputFrameTrace, ResourceCommandKind, ResourceCommandTrace,
79 ResourceTransitionPolicy, TraceMismatch, TransactionTrace, assert_transaction_traces_match,
80};
81pub use transaction::Transaction;
82pub use transaction_types::{
83 AuditEntry, AuditEvent, CollectionDiffKind, CollectionDiffTrace, InvariantResultTrace,
84 ScopeLifecycleKind, ScopeLifecycleTrace, StagedInputChange, StagedInputOutcome,
85 TransactionOptions, TransactionPhase, TransactionResult,
86};
87
88pub mod testing {
90 pub use crate::model::{ModelGenerator, ModelScript, ModelStep, ModelTopology};
91}