fakecloud_transfer/lib.rs
1//! AWS Transfer Family (`transfer`) awsJson1.1 control plane for fakecloud.
2//!
3//! The full 71-operation Transfer Family control plane from the AWS Smithy
4//! model: SFTP/FTPS/FTP/AS2 servers, users, SSH public keys, host keys,
5//! service-managed accesses, workflows and executions, AS2 agreements,
6//! connectors (SFTP + AS2, with `TestConnection` / file-transfer / directory
7//! listing / remote delete+move actions), profiles, certificates, security
8//! policies, web apps (+ customization), identity-provider testing, and
9//! resource tagging.
10//!
11//! Transfer is modelled as a state CRUD control plane. There is no real SFTP
12//! daemon or AS2 data movement engine (LocalStack Community treats Transfer the
13//! same way — the actual file transport is out of scope). Every resource is
14//! real, account-partitioned, persisted state: every `Create`/`Import` is
15//! reflected by its `Describe` and `List`, every `Update` persists, every
16//! `Delete` deletes, `StartServer` / `StopServer` transition the server `State`
17//! and settle to steady state (`ONLINE` / `OFFLINE`) synchronously so waiters
18//! complete, and `TestConnection` / `TestIdentityProvider` return successful
19//! results against a real, existing resource. Nested configuration objects
20//! (endpoint details, identity-provider details, AS2/SFTP connector config,
21//! workflow steps, ...) are stored as the raw request `Value` so they
22//! round-trip verbatim through `Describe`.
23
24pub mod persistence;
25pub mod service;
26pub mod state;
27mod validate;
28
29pub use service::TransferService;
30pub use state::{SharedTransferState, TransferData, TRANSFER_SNAPSHOT_SCHEMA_VERSION};