Struct rusoto_core::ContainerProvider
[−]
[src]
pub struct ContainerProvider { /* fields omitted */ }
Provides AWS credentials from a task's IAM role.
The provider has a default timeout of 30 seconds. While it should work well for most setups,
you can change the timeout using the set_timeout
method.
As described in Amazon's
ECS developers guide,
Containers started as part of Tasks using IAM Roles for Tasks will be provided with a relative
URL stored in the environment variable AWS_CONTAINER_CREDENTIALS_RELATIVE_URI
, which will
be used to obtain the AWS credentials. If that environment variable is not set, rusoto will use
the URL set in environment variable AWS_CONTAINER_CREDENTIALS_FULL_URI
to obtain AWS
credentials and will (optionally) also set the Authorization
header to the value of
environment variable AWS_CONTAINER_AUTHORIZATION_TOKEN
.
Example
extern crate rusoto_credential; extern crate tokio_core; use std::time::Duration; use rusoto_credential::ContainerProvider; use tokio_core::reactor::Core; fn main() { let core = Core::new().unwrap(); let mut provider = ContainerProvider::new(&core.handle()); // you can overwrite the default timeout like this: provider.set_timeout(Duration::from_secs(60)); // ... }
Methods
impl ContainerProvider
[src]
pub fn new(handle: &Handle) -> ContainerProvider
[src]
Create a new provider with the given handle.
pub fn set_timeout(&mut self, timeout: Duration)
[src]
Set the timeout on the provider to the specified duration.
Trait Implementations
impl Clone for ContainerProvider
[src]
fn clone(&self) -> ContainerProvider
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl ProvideAwsCredentials for ContainerProvider
[src]
type Future = ContainerProviderFuture
The future response value.
fn credentials(&self) -> <ContainerProvider as ProvideAwsCredentials>::Future
[src]
Produce a new AwsCredentials
future.