Known limitations

What fakecloud doesn't do, and what to watch out for.

fakecloud aims for 100% behavioral parity with AWS on every implemented operation. A few things are genuinely not supported, and it's worth being explicit about them.

SNS email and SMS delivery

SNS messages published to email or SMS endpoints are recorded for introspection at /_fakecloud/sns/messages but are never actually sent. There's no SMTP or SMS gateway attached. Use the introspection endpoint to assert delivery in your tests.

If you want real email sending, use SES (which also records to /_fakecloud/ses/emails and doesn't hit the network).

CloudWatch Logs anomaly detection

Anomaly detectors are fully managed via the control plane — create, update, list, delete all work and conform to AWS. But no anomaly analysis actually runs. ListAnomalies returns an empty list. If your code depends on detecting anomalies, you'll need to fake the detections another way.

Docker socket required for Lambda / RDS / ElastiCache

Lambda function execution, RDS DB instances, and ElastiCache clusters all use real Docker containers. This means fakecloud needs access to a Docker socket (/var/run/docker.sock on Linux/macOS) to start and stop those containers on demand.

Security note: granting access to the Docker socket gives the fakecloud process the ability to manage containers on the host. Only use this in development or CI environments you trust. Don't run fakecloud with Docker socket access on shared infrastructure.

If you don't need Lambda/RDS/ElastiCache, fakecloud runs fine without Docker at all — just don't mount the socket and those services will return errors only when you try to use them.

SigV4 signatures are not validated

fakecloud parses SigV4 headers to route requests to the right service but does not validate the signature itself. This is intentional — fakecloud uses dummy credentials and there's nothing to validate against. If your test depends on signature rejection, you'll need to test that against real AWS.

Everything else is in scope

If you hit a behavior that's documented in the AWS Smithy model and fakecloud doesn't match it, that's a bug. Open an issue.