You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In-memory implementations of 159 AWS services written in Rust. All services run as a single binary on separate ports, are compatible with the AWS CLI and SDKs, and require no external dependencies. All state is held in memory — there is no disk persistence. Restarting the server clears all data.
All services are organized by category. Click the category link for detailed documentation including supported operations, CLI examples, SDK examples, and wire protocol details.
Integration tests use the AWS CLI to exercise all API operations. Each script builds the binary, starts the server on isolated ports, runs all test cases, and reports pass/fail counts.
# Run individual service tests
bash tests/s3_integration.sh
bash tests/dynamodb_integration.sh
bash tests/lambda_integration.sh
bash tests/sns_integration.sh
bash tests/sqs_integration.sh
# Run all integration testsforfin tests/*_integration.sh;do bash "$f";done
See the tests/ directory for the full list of 159 integration test scripts.
Differences from AWS
This is a local development tool, not a production replacement. Key differences:
In-memory only — all state is lost when the server stops. No disk persistence or replication.
No authentication — all requests are accepted without signature verification. Use --no-sign-request.
No TLS — the server speaks plain HTTP only.
Single-process — no distributed behavior.
S3 versioning — versioning status can be toggled but version history is not maintained. Only the latest version of each object is stored.
SNS subscriptions auto-confirm — all subscriptions are immediately confirmed without requiring endpoint verification.
SNS message delivery — messages are accepted and assigned IDs but not actually delivered to endpoints.
SQS permissions stored but not enforced — AddPermission / RemovePermission update the queue's policy, but no access checks are performed.
DynamoDB expressions — basic KeyConditionExpression, UpdateExpression (SET, REMOVE), FilterExpression, and ProjectionExpression are supported. Transactions, GSIs/LSIs, and streams are not implemented.
Lambda invocation — Invoke returns a stub 200 response. Functions are not actually executed.
Firehose delivery — records are accepted and stored in memory but not delivered to any destination.
MemoryDB clusters — clusters are created with simulated metadata but no actual Redis instances are started.
Cognito authentication — auth flows return stub token responses. No actual JWT signing or token validation is performed.
API Gateway invocations — the service manages REST API configuration but does not route or proxy actual HTTP requests.
KMS cryptography is simulated — Encrypt/Decrypt, Sign/Verify produce deterministic fake outputs. No actual cryptographic operations are performed.
Secrets Manager deletion is immediate — DeleteSecret with --force-delete-without-recovery removes the secret immediately.
EventBridge rules do not evaluate events — PutEvents accepts events but does not match them against rules or invoke targets.
Step Functions executions do not run — StartExecution creates an execution in RUNNING state but does not evaluate the state machine definition.
SSM SecureString values are stored in plaintext — no KMS encryption is performed.