Crate rusoto_core [] [src]

Rusoto is an AWS SDK for Rust. A high level overview is available in README.md at https://github.com/rusoto/rusoto.

Example

The following code shows a simple example of using Rusoto's DynamoDB API to list the names of all tables in a database.

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

let provider = DefaultCredentialsProvider::new().unwrap();
let client = DynamoDbClient::new(provider, Region::UsEast1);
let list_tables_input: ListTablesInput = Default::default();

match client.list_tables(&list_tables_input) {
    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);
    },
}

Reexports

pub extern crate rusoto_credential as credential;
pub use region::ParseRegionError;
pub use region::Region;
pub use region::default_region;
pub use request::DispatchSignedRequest;
pub use request::HttpResponse;
pub use request::HttpDispatchError;
pub use request::TlsError;
pub use request::default_tls_client;
pub use signature::SignedRequest;

Modules

claims

Credential Claims module.

param

Parameters for talking to query-based AWS services.

region

AWS Regions and helper functions.

request

AWS API requests.

signature

AWS API request signatures.

Structs

AwsCredentials

AWS API access credentials, including access key, secret key, token (for IAM profiles), expiration timestamp, and claims from federated login.

BaseAutoRefreshingProvider

Wrapper for ProvideAwsCredentials that caches the credentials returned by the wrapped provider. Each time the credentials are accessed, they are checked to see if they have expired, in which case they are retrieved from the wrapped provider again.

ChainProvider

Provides AWS credentials from multiple possible sources using a priority order.

ContainerProvider

Provides AWS credentials from a task's IAM role.

CredentialsError
EnvironmentProvider

Provides AWS credentials from environment variables.

InstanceMetadataProvider

Provides AWS credentials from a resource's IAM role.

ProfileProvider

Provides AWS credentials from a profile in a credentials file.

Traits

ProvideAwsCredentials

A trait for types that produce AwsCredentials.

Type Definitions

AutoRefreshingProvider

!Sync AutoRefreshingProvider that caches credentials in a RefCell

AutoRefreshingProviderSync

Threadsafe AutoRefreshingProvider that locks cached credentials with a Mutex

DefaultCredentialsProvider

The credentials provider you probably want to use if you don't require Sync for your AWS services. Wraps a ChainProvider in an AutoRefreshingProvider that uses a RefCell to cache credentials

DefaultCredentialsProviderSync

The credentials provider you probably want to use if you do require Sync for your AWS services. Wraps a ChainProvider in an AutoRefreshingProvider that uses a Mutex to lock credentials in a threadsafe manner.