A comprehensive Erlang library for interacting with AWS services including EC2, S3, SQS, DynamoDB, and ELB.
Erlcloud is an open-source Erlang library that provides a comprehensive interface to Amazon Web Services APIs. It allows Erlang developers to programmatically manage AWS resources like EC2 instances, S3 storage, SQS queues, and DynamoDB tables directly from their Erlang applications, solving the problem of AWS integration in Erlang-based systems.
Erlang/Elixir developers and teams building backend systems that need to interact with AWS services, particularly those working on distributed systems, cloud infrastructure, or DevOps tooling in Erlang environments.
Developers choose Erlcloud because it's the most complete Erlang-native AWS client available, offering broad service coverage while following Erlang/OTP best practices. Its configuration flexibility and support for modern AWS features like temporary credentials make it production-ready for enterprise use.
AWS APIs library for Erlang (Amazon EC2, S3, SQS, DDB, ELB and etc)
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports over 20 AWS services including EC2, S3, and DynamoDB, providing extensive integration options for Erlang applications as listed in the README.
Follows Erlang idioms by avoiding stateful processes, ensuring reliability in distributed systems as per the project philosophy.
Offers both process dictionary and config object methods for credentials, enabling easy or cross-account access as detailed in the configuration sections.
Tested on Erlang versions 19.3 through 27.1 and used in production, with support for temporary credentials and VPC endpoints.
The README admits missing functionality compared to aws-cli, with features added only upon request, leading to potential gaps in service coverage.
Not all API functions have been thoroughly tested, which could introduce risks in production code, as cautioned in the documentation.
The roadmap includes major API compatibility changes, such as in version 3.0.X, which may require significant code updates for users.
Requires manual credential management and configuration objects, which can be cumbersome compared to more automated SDKs.