26 breaking releases

new 0.28.0 May 24, 2023
0.26.0 Apr 12, 2023
0.25.0 Mar 30, 2023
0.22.0 Dec 14, 2022
0.0.0 May 8, 2021

#11 in #aws

Download history 7748/week @ 2023-02-05 8983/week @ 2023-02-12 8165/week @ 2023-02-19 10878/week @ 2023-02-26 9842/week @ 2023-03-05 11179/week @ 2023-03-12 11009/week @ 2023-03-19 13000/week @ 2023-03-26 9595/week @ 2023-04-02 13559/week @ 2023-04-09 9106/week @ 2023-04-16 11111/week @ 2023-04-23 8256/week @ 2023-04-30 10968/week @ 2023-05-07 16523/week @ 2023-05-14 16872/week @ 2023-05-21

53,333 downloads per month
Used in 12 crates (10 directly)


553K SLoC


Please Note: The SDK is currently in Developer Preview and is intended strictly for feedback purposes only. Do not use this SDK for production workloads.

Amazon Elastic Compute Cloud (Amazon EC2) provides secure and resizable computing capacity in the Amazon Web Services Cloud. Using Amazon EC2 eliminates the need to invest in hardware up front, so you can develop and deploy applications faster. Amazon Virtual Private Cloud (Amazon VPC) enables you to provision a logically isolated section of the Amazon Web Services Cloud where you can launch Amazon Web Services resources in a virtual network that you've defined. Amazon Elastic Block Store (Amazon EBS) provides block level storage volumes for use with EC2 instances. EBS volumes are highly available and reliable storage volumes that can be attached to any running instance and used like a hard drive.

To learn more, see the following resources:

Getting Started

Examples are available for many services and operations, check out the examples folder in GitHub.

The SDK provides one crate per AWS service. You must add Tokio as a dependency within your Rust project to execute asynchronous code. To add aws-sdk-ec2 to your project, add the following to your Cargo.toml file:

aws-config = "0.55.3"
aws-sdk-ec2 = "0.28.0"
tokio = { version = "1", features = ["full"] }

Then in code, a client can be created with the following:

use aws_sdk_ec2 as ec2;

async fn main() -> Result<(), ec2::Error> {
    let config = ::aws_config::load_from_env().await;
    let client = ec2::Client::new(&config);

    // ... make some calls with the client


See the client documentation for information on what calls can be made, and the inputs and outputs for each of those calls.

Using the SDK

Until the SDK is released, we will be adding information about using the SDK to the Developer Guide. Feel free to suggest additional sections for the guide by opening an issue and describing what you are trying to do.

Getting Help


This project is licensed under the Apache-2.0 License.


~349K SLoC