aws_sdk_sts/
lib.rs

1#![allow(deprecated)]
2#![allow(unknown_lints)]
3#![allow(clippy::module_inception)]
4#![allow(clippy::upper_case_acronyms)]
5#![allow(clippy::large_enum_variant)]
6#![allow(clippy::wrong_self_convention)]
7#![allow(clippy::should_implement_trait)]
8#![allow(clippy::disallowed_names)]
9#![allow(clippy::vec_init_then_push)]
10#![allow(clippy::type_complexity)]
11#![allow(clippy::needless_return)]
12#![allow(clippy::derive_partial_eq_without_eq)]
13#![allow(clippy::result_large_err)]
14#![allow(clippy::unnecessary_map_on_constructor)]
15#![allow(clippy::deprecated_semver)]
16#![allow(rustdoc::bare_urls)]
17#![allow(rustdoc::redundant_explicit_links)]
18#![allow(rustdoc::broken_intra_doc_links)]
19#![allow(rustdoc::invalid_html_tags)]
20
21#![forbid(unsafe_code)]
22#![warn(missing_docs)]
23#![cfg_attr(docsrs, feature(doc_cfg))]
24//! Security Token Service (STS) enables you to request temporary, limited-privilege credentials for users. This guide provides descriptions of the STS API. For more information about using this service, see [Temporary Security Credentials](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html).
25//! 
26//! ## Getting Started
27//! 
28//! > Examples are available for many services and operations, check out the
29//! > [usage examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/rustv1).
30//! 
31//! The SDK provides one crate per AWS service. You must add [Tokio](https://crates.io/crates/tokio)
32//! as a dependency within your Rust project to execute asynchronous code. To add `aws-sdk-sts` to
33//! your project, add the following to your **Cargo.toml** file:
34//! 
35//! ```toml
36//! [dependencies]
37//! aws-config = { version = "1.1.7", features = ["behavior-version-latest"] }
38//! aws-sdk-sts = "0.0.0-local"
39//! tokio = { version = "1", features = ["full"] }
40//! ```
41//! 
42//! Then in code, a client can be created with the following:
43//! 
44//! ```rust,ignore
45//! use aws_sdk_sts as sts;
46//! 
47//! #[::tokio::main]
48//! async fn main() -> Result<(), sts::Error> {
49//!     let config = aws_config::load_from_env().await;
50//!     let client = aws_sdk_sts::Client::new(&config);
51//! 
52//!     // ... make some calls with the client
53//! 
54//!     Ok(())
55//! }
56//! ```
57//! 
58//! See the [client documentation](https://docs.rs/aws-sdk-sts/latest/aws_sdk_sts/client/struct.Client.html)
59//! for information on what calls can be made, and the inputs and outputs for each of those calls.
60//! 
61//! ## Using the SDK
62//! 
63//! Until the SDK is released, we will be adding information about using the SDK to the
64//! [Developer Guide](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/welcome.html). Feel free to suggest
65//! additional sections for the guide by opening an issue and describing what you are trying to do.
66//! 
67//! ## Getting Help
68//! 
69//! * [GitHub discussions](https://github.com/awslabs/aws-sdk-rust/discussions) - For ideas, RFCs & general questions
70//! * [GitHub issues](https://github.com/awslabs/aws-sdk-rust/issues/new/choose) - For bug reports & feature requests
71//! * [Generated Docs (latest version)](https://awslabs.github.io/aws-sdk-rust/)
72//! * [Usage examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/rustv1)
73//! 
74//! 
75//! # Crate Organization
76//! 
77//! The entry point for most customers will be [`Client`], which exposes one method for each API
78//! offered by AWS Security Token Service. The return value of each of these methods is a "fluent builder",
79//! where the different inputs for that API are added by builder-style function call chaining,
80//! followed by calling `send()` to get a [`Future`](std::future::Future) that will result in
81//! either a successful output or a [`SdkError`](crate::error::SdkError).
82//! 
83//! Some of these API inputs may be structs or enums to provide more complex structured information.
84//! These structs and enums live in [`types`](crate::types). There are some simpler types for
85//! representing data such as date times or binary blobs that live in [`primitives`](crate::primitives).
86//! 
87//! All types required to configure a client via the [`Config`](crate::Config) struct live
88//! in [`config`](crate::config).
89//! 
90//! The [`operation`](crate::operation) module has a submodule for every API, and in each submodule
91//! is the input, output, and error type for that API, as well as builders to construct each of those.
92//! 
93//! There is a top-level [`Error`](crate::Error) type that encompasses all the errors that the
94//! client can return. Any other error type can be converted to this `Error` type via the
95//! [`From`](std::convert::From) trait.
96//! 
97//! The other modules within this crate are not required for normal usage.
98
99
100// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
101pub use error_meta::Error;
102
103#[doc(inline)]
104pub use config::Config;
105
106/// Client for calling AWS Security Token Service.
107/// # Using the `Client`
108/// 
109/// A client has a function for every operation that can be performed by the service.
110/// For example, the [`AssumeRole`](crate::operation::assume_role) operation has
111/// a [`Client::assume_role`], function which returns a builder for that operation.
112/// The fluent builder ultimately has a `send()` function that returns an async future that
113/// returns a result, as illustrated below:
114/// 
115/// ```rust,ignore
116/// let result = client.assume_role()
117///     .role_arn("example")
118///     .send()
119///     .await;
120/// ```
121/// 
122/// The underlying HTTP requests that get made by this can be modified with the `customize_operation`
123/// function on the fluent builder. See the [`customize`](crate::client::customize) module for more
124/// information.
125pub mod client;
126
127/// Configuration for AWS Security Token Service.
128pub mod config;
129
130/// Common errors and error handling utilities.
131pub mod error;
132
133mod error_meta;
134
135/// Information about this crate.
136pub mod meta;
137
138/// All operations that this crate can perform.
139pub mod operation;
140
141/// Primitives such as `Blob` or `DateTime` used by other types.
142pub mod primitives;
143
144/// Data structures used by operation inputs/outputs.
145pub mod types;
146
147mod observability_feature;
148
149pub(crate) mod protocol_serde;
150
151mod sdk_feature_tracker;
152
153mod serialization_settings;
154
155mod endpoint_lib;
156
157mod rest_xml_wrapped_errors;
158
159mod serde_util;
160
161#[doc(inline)]
162pub use client::Client;
163