rusoto_core 0.45.0

AWS SDK for Rust - Core
# Rusoto Core

        <td><strong>Linux / OS X</strong></td>
        <td><a href="" title="Pipelines Build Status"><img src="" alt="pipelines-badge"></img></a></td>
        <td><a href="" title="Appveyor Build Status"><img src="" alt="appveyor-badge"></img></a></td>
        <td colspan="2">
            <a href="" title="API Docs"><img src="" alt="api-docs-badge"></img></a>
            <a href="" title=""><img src="" alt="crates-io"></img></a>
            <a href="#license" title="License: MIT"><img src="" alt="license-badge"></img></a>

**Rusoto is an AWS SDK for Rust**


You may be looking for:

* [An overview of Rusoto][rusoto-overview]
* [AWS services supported by Rusoto][supported-aws-services]
* [API documentation][api-documentation]
* [Getting help with Rusoto][rusoto-help]

## Installation

Rusoto is available on [](
To use Rusoto in your Rust program built with Cargo, add it as a dependency and `rusoto_$SERVICENAME` for any supported AWS service you want to use.

For example, to include only S3 and SQS:

``` toml
rusoto_core = "0.45.0"
rusoto_sqs = "0.45.0"
rusoto_s3 = "0.45.0"

## Migration notes

Breaking changes and migration details are documented at [](

Note that from v0.43.0 onward, Rusoto uses Rust's `std::future::Future`, and the Tokio 0.2 ecosystem.

## Usage

Rusoto has a crate for each AWS service, containing Rust types for that service's API.
A full list of these services can be found [here][supported-aws-services].
All other public types are reexported to the crate root.
Consult the rustdoc documentation for full details by running `cargo doc` or visiting the online [documentation]( for the latest release.

A simple example of using Rusoto's DynamoDB API to list the names of all tables in a database:

use rusoto_core::Region;
use rusoto_dynamodb::{DynamoDb, DynamoDbClient, ListTablesInput};

async fn main() {
    let client = DynamoDbClient::new(Region::UsEast1);
    let list_tables_input: ListTablesInput = Default::default();

    match client.list_tables(list_tables_input).await {
        Ok(output) => match output.table_names {
            Some(table_name_list) => {
                println!("Tables in database:");

                for table_name in table_name_list {
                    println!("{}", table_name);
            None => println!("No tables in database!"),
        Err(error) => {
            println!("Error: {:?}", error);

### Usage with rustls

If you do not want to use OpenSSL, you can replace it with rustls by editing your Cargo.toml:

``` toml
rusoto_core = { version="0.45.0", default_features=false, features=["rustls"] }
rusoto_sqs = { version="0.45.0", default_features=false, features=["rustls"] }
rusoto_s3 = { version="0.45.0", default_features=false, features=["rustls"] }

### Credentials

For more information on Rusoto's use of AWS credentials such as priority and refreshing, see [AWS Credentials][aws-credentials].

## Semantic versioning

Rusoto complies with [semantic versioning 2.0.0](
Until reaching 1.0.0 the API is to be considered unstable.
See [Cargo.toml](Cargo.toml) or [rusoto on]( for current version.

## Releases

Information on release schedules and procedures are in [RELEASING][releasing].

## Contributing

See [CONTRIBUTING][contribution].

## Supported OSs and Rust versions

Linux, OSX and Windows are supported and tested via Azure Pipelines and Appveyor.

Rust stable, beta and nightly are supported.

## License

Rusoto is distributed under the terms of the MIT license.

See [LICENSE][license] for details.

[api-documentation]: "API documentation"
[license]: "MIT License"
[rusoto-help]: "Getting help with Rusoto"
[rusoto-overview]: "Rusoto overview"
[supported-aws-services]: "List of AWS services supported by Rusoto"
[aws-credentials]: "AWS Credentials"
[releasing]: "Releasing Rusoto"
[contribution]: "Contributing to Rusoto"