#aws-access #aws-credentials #amazon-s3 #aws #s3 #amazon-iam #wasabi

aws-creds

Tiny Rust library for working with Amazon IAM credential,s, supports s3 crate

26 releases (16 breaking)

0.36.0 Oct 15, 2023
0.35.0 Apr 7, 2023
0.34.1 Apr 7, 2023
0.34.0 Oct 11, 2022
0.20.0 Mar 28, 2020

#1756 in Network programming

Download history 19220/week @ 2024-01-09 24105/week @ 2024-01-16 21002/week @ 2024-01-23 16712/week @ 2024-01-30 14715/week @ 2024-02-06 17894/week @ 2024-02-13 19523/week @ 2024-02-20 24197/week @ 2024-02-27 25751/week @ 2024-03-05 24831/week @ 2024-03-12 23112/week @ 2024-03-19 19393/week @ 2024-03-26 21608/week @ 2024-04-02 19876/week @ 2024-04-09 23262/week @ 2024-04-16 17745/week @ 2024-04-23

84,835 downloads per month
Used in 40 crates (5 directly)

MIT license

22KB
376 lines

Example

// AWS access credentials: access key, secret key, and optional token.
# Example
// Loads from the standard AWS credentials file with the given profile name,
// defaults to "default".
use awscreds::Credentials;

// Load credentials from `[default]` profile
let credentials = Credentials::default();
// Also loads credentials from `[default]` profile
let credentials = Credentials::new(None, None, None, None);
// Load credentials from `[my-profile]` profile
let credentials = Credentials::new(None, None, None, Some("my-profile".into()));
// Credentials may also be initialized directly or by the following environment variables:
//   - `AWS_ACCESS_KEY_ID`,
//   - `AWS_SECRET_ACCESS_KEY`
//   - `AWS_SESSION_TOKEN`
// The order of preference is arguments, then environment, and finally AWS
// credentials file.

use s3::credentials::Credentials;
// Load credentials directly
let access_key = String::from("AKIAIOSFODNN7EXAMPLE");
let secret_key = String::from("wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY");
let credentials = Credentials::new(Some(access_key), Some(secret_key), None, None);
// Load credentials from the environment
use std::env;
env::set_var("AWS_ACCESS_KEY_ID", "AKIAIOSFODNN7EXAMPLE");
env::set_var("AWS_SECRET_ACCESS_KEY", "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY");
let credentials = Credentials::new(None, None, None, None);

Dependencies

~5–13MB
~186K SLoC