Skip to main content

fakecloud_cloudtrail/
lib.rs

1//! AWS CloudTrail (`cloudtrail`) awsJson1.1 control plane for fakecloud.
2//!
3//! The full 60-operation CloudTrail Smithy model: trails (with logging
4//! start/stop and per-trail status), event selectors and insight selectors,
5//! CloudTrail Lake event data stores (+ ingestion toggle, restore, federation),
6//! channels, imports, queries, dashboards, resource policies, organization
7//! delegated admins, event configuration, and resource tagging.
8//!
9//! CloudTrail is modelled as a state CRUD control plane: there is no real
10//! event-recording engine (a fake needn't record its own API activity, and no
11//! conformance/tfacc assertion depends on recorded events). Every resource is
12//! real, account-partitioned, persisted state. Every `Create` is reflected by
13//! its `Get`/`Describe`/`List`, every `Update` persists, every `Delete`
14//! deletes. `StartLogging`/`StopLogging` toggle a per-trail logging flag that
15//! `GetTrailStatus` reports. `LookupEvents`, `ListPublicKeys`, and
16//! `ListInsightsMetricData` return real, empty result sets. CloudTrail Lake
17//! queries settle to `FINISHED` synchronously with empty result rows.
18
19pub mod persistence;
20pub mod service;
21pub mod state;
22mod validate;
23
24pub use service::CloudTrailService;
25pub use state::{CloudTrailData, SharedCloudTrailState, CLOUDTRAIL_SNAPSHOT_SCHEMA_VERSION};