repowiseaws/aws-emulator

Architecture of aws/aws-emulator

aws/aws-emulator is 83,136 source files holding 1,223,210 symbols across 2 modules, written mainly in Rust. The largest module is services, with 60,359 files, and 442 files are entry points into the dependency graph.

How aws-emulator fits together

The services directory holds one crate per AWS service, such as services/service-com-amazonaws-dynamodb-dynamodb-20120810, and its src/state.rs file holds the DynamoDB state. The core directory holds the router, a crate named aws-emulator-router that is built and run with cargo. The router serves HTTPS on 127.0.0.1:9297 with a self-signed certificate, and your CLI or SDK reaches it after environment variables point them at that endpoint. In embedded mode, the aws_emulator_embedded crate runs the emulator in-process, and your test passes its HTTP client to the SDK client. Telemetry can be turned off through the command-line option, the EMULATOR_TELEMETRY variable, or the config.toml file under ~/.aws/emulator. Individual gaps are tracked in the issues directory, split into things-that-do-not-work and things-that-now-work.

Largest modules

  • services: 60,359 files and 10,937,062 lines of code
  • core: 514 files and 242,512 lines of code

Documentation

Repowise documents aws-emulator in 12,390 pages generated from the source.

More on aws-emulator: summary and FAQ, codebase overview, code health.

Related guide: Best dependency graph tools for monorepos