Skip to main content

fakecloud_cloudcontrol/
lib.rs

1//! AWS Cloud Control API (`cloudcontrolapi`) awsJson1.0 service for fakecloud.
2//!
3//! Cloud Control is a uniform CRUD+L facade over every CloudFormation resource
4//! type. Rather than reimplement per-type handlers, this service drives the
5//! EXISTING CloudFormation `ResourceProvisioner` one resource at a time via the
6//! `CloudControlOutcome` bridge on `CloudFormationService`: a `CreateResource`
7//! with a `DesiredState` of `AWS::S3::Bucket` properties provisions a real
8//! bucket through the same handler `CreateStack` would use (real container for
9//! container-backed types included). This is what unblocks the IaC tools that
10//! speak Cloud Control instead of CloudFormation templates -- Terraform's
11//! `awscc` provider and Pulumi's `aws-native`.
12//!
13//! All eight operations are implemented against real, account-partitioned,
14//! persisted state: the created-resource registry (so Get/List/Update/Delete
15//! resolve) and the resource-request ledger (so `GetResourceRequestStatus` /
16//! `ListResourceRequests` return real `ProgressEvent`s). Provisioning is
17//! synchronous here, so requests reach a terminal `SUCCESS`/`FAILED` status
18//! immediately, and the returned `ProgressEvent` reflects that.
19
20pub mod patch;
21pub mod persistence;
22pub mod service;
23pub mod state;
24
25pub use service::CloudControlService;
26pub use state::{CloudControlState, SharedCloudControlState, CLOUDCONTROL_SNAPSHOT_SCHEMA_VERSION};