- Items: Steps of a process.
- Ordering: Sequence between steps.
// examples/envman/src/flows/app_upload_flow.rs
let flow = {
let graph = {
let mut graph_builder = ItemGraphBuilder::<EnvManError>::new();
let [a, b, c] = graph_builder.add_fns([
FileDownloadItem::<WebApp>::new(item_id!("app_download")).into(),
S3BucketItem::<WebApp>::new(item_id!("s3_bucket")).into(),
S3ObjectItem::<WebApp>::new(item_id!("s3_object")).into(),
]);
graph_builder.add_logic_edges([(a, b), (b, c)])?;
graph_builder.build()
};
Flow::new(flow_id!("app_upload"), graph)
};
graph_builder.add_logic_edges([
- (a, b),
+ (a, c),
(b, c),
])?;