aws-sdk-rust 0.1.42

Important Enhancements: 1) Supports V2 and V4 API Signatures for third party S3 compliant products like Ceph 2) Works from behind proxies 3) Returned data can be in Rust structs, JSON or XML Works only for S3. Other AWS Storage features are coming soon!
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="generator" content="rustdoc">
    <meta name="description" content="API documentation for the Rust `ChainProvider` struct in crate `aws_sdk_rust`.">
    <meta name="keywords" content="rust, rustlang, rust-lang, ChainProvider">

    <title>aws_sdk_rust::aws::common::credentials::ChainProvider - Rust</title>

    <link rel="stylesheet" type="text/css" href="../../../../normalize.css">
    <link rel="stylesheet" type="text/css" href="../../../../rustdoc.css">
    <link rel="stylesheet" type="text/css" href="../../../../main.css">
    

    <link rel="shortcut icon" href="https://lambdastackio.github.io/static/images/favicon.ico">
    
</head>
<body class="rustdoc struct">
    <!--[if lte IE 8]>
    <div class="warning">
        This old browser is unsupported and will most likely display funky
        things.
    </div>
    <![endif]-->

    

    <nav class="sidebar">
        <a href='../../../../aws_sdk_rust/index.html'><img src='https://lambdastackio.github.io/static/images/lambdastack-200x200.png' alt='logo' width='100'></a>
        <p class='location'>Struct ChainProvider</p><div class="block items"><ul><li><a href="#methods">Methods</a></li><li><a href="#implementations">Trait Implementations</a></li></ul></div><p class='location'><a href='../../../index.html'>aws_sdk_rust</a>::<wbr><a href='../../index.html'>aws</a>::<wbr><a href='../index.html'>common</a>::<wbr><a href='index.html'>credentials</a></p><script>window.sidebarCurrent = {name: 'ChainProvider', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script>
    </nav>

    <nav class="sub">
        <form class="search-form js-only">
            <div class="search-container">
                <input class="search-input" name="search"
                       autocomplete="off"
                       placeholder="Click or press ‘S’ to search, ‘?’ for more options…"
                       type="search">
            </div>
        </form>
    </nav>

    <section id='main' class="content">
<h1 class='fqn'><span class='in-band'>Struct <a href='../../../index.html'>aws_sdk_rust</a>::<wbr><a href='../../index.html'>aws</a>::<wbr><a href='../index.html'>common</a>::<wbr><a href='index.html'>credentials</a>::<wbr><a class="struct" href=''>ChainProvider</a></span><span class='out-of-band'><span id='render-detail'>
                   <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
                       [<span class='inner'>&#x2212;</span>]
                   </a>
               </span><a class='srclink' href='../../../../src/aws_sdk_rust/aws/common/credentials.rs.html#146-150' title='goto source code'>[src]</a></span></h1>
<pre class='rust struct'>pub struct ChainProvider { /* fields omitted */ }</pre><div class='docblock'><p>Provides AWS credentials from multiple possible sources using a priority order.</p>

<p>The following sources are checked in order for credentials when calling <code>credentials</code>:</p>

<ol>
<li>Parameters option. This is set in your code however you wish to set it. For example,
you could read from your own config file and set them or however.</li>
<li>Environment variables: <code>AWS_ACCESS_KEY_ID</code> and <code>AWS_SECRET_ACCESS_KEY</code></li>
<li>AWS credentials file. Usually located at <code>~/.aws/credentials</code>.</li>
<li>IAM instance profile. Will only work if running on an EC2 instance with an instance
profile/role.</li>
</ol>

<p>If the sources are exhausted without finding credentials, an error is returned.
NB: If the chain makes it to the IAM provider then TCP timeout may cause a wait.</p>
</div><h2 id='methods'>Methods</h2><h3 class='impl'><span class='in-band'><code>impl <a class="struct" href="../../../../aws_sdk_rust/aws/common/credentials/struct.ChainProvider.html" title="struct aws_sdk_rust::aws::common::credentials::ChainProvider">ChainProvider</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../../../src/aws_sdk_rust/aws/common/credentials.rs.html#605-647' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.new' class="method"><span id='new.v' class='invisible'><code>fn <a href='#method.new' class='fnname'>new</a>(parameters_provider: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../../../aws_sdk_rust/aws/common/credentials/struct.ParametersProvider.html" title="struct aws_sdk_rust::aws::common::credentials::ParametersProvider">ParametersProvider</a>&gt;) -&gt; <a class="struct" href="../../../../aws_sdk_rust/aws/common/credentials/struct.ChainProvider.html" title="struct aws_sdk_rust::aws::common::credentials::ChainProvider">ChainProvider</a></code></span></h4>
<div class='docblock'><p>Create a new <code>ChainProvider</code> using a <code>ParametersProvider</code> with the default settings.</p>
</div><h4 id='method.with_parameters_provider' class="method"><span id='with_parameters_provider.v' class='invisible'><code>fn <a href='#method.with_parameters_provider' class='fnname'>with_parameters_provider</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;parameters_provider: <a class="struct" href="../../../../aws_sdk_rust/aws/common/credentials/struct.ParametersProvider.html" title="struct aws_sdk_rust::aws::common::credentials::ParametersProvider">ParametersProvider</a><br>) -&gt; <a class="struct" href="../../../../aws_sdk_rust/aws/common/credentials/struct.ChainProvider.html" title="struct aws_sdk_rust::aws::common::credentials::ChainProvider">ChainProvider</a></code></span></h4>
<div class='docblock'><p>Create a new <code>ChainProvider</code> using the provided <code>ParametersProvider</code>.</p>
</div><h4 id='method.with_environment_provider' class="method"><span id='with_environment_provider.v' class='invisible'><code>fn <a href='#method.with_environment_provider' class='fnname'>with_environment_provider</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;environment_provider: <a class="struct" href="../../../../aws_sdk_rust/aws/common/credentials/struct.EnvironmentProvider.html" title="struct aws_sdk_rust::aws::common::credentials::EnvironmentProvider">EnvironmentProvider</a><br>) -&gt; <a class="struct" href="../../../../aws_sdk_rust/aws/common/credentials/struct.ChainProvider.html" title="struct aws_sdk_rust::aws::common::credentials::ChainProvider">ChainProvider</a></code></span></h4>
<div class='docblock'><p>Create a new <code>ChainProvider</code> using the provided <code>EnvironmentProvider</code>.</p>
</div><h4 id='method.with_profile_provider' class="method"><span id='with_profile_provider.v' class='invisible'><code>fn <a href='#method.with_profile_provider' class='fnname'>with_profile_provider</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;profile_provider: <a class="struct" href="../../../../aws_sdk_rust/aws/common/credentials/struct.ProfileProvider.html" title="struct aws_sdk_rust::aws::common::credentials::ProfileProvider">ProfileProvider</a><br>) -&gt; <a class="struct" href="../../../../aws_sdk_rust/aws/common/credentials/struct.ChainProvider.html" title="struct aws_sdk_rust::aws::common::credentials::ChainProvider">ChainProvider</a></code></span></h4>
<div class='docblock'><p>Create a new <code>ChainProvider</code> using the provided <code>ProfileProvider</code>.</p>
</div></div><h2 id='implementations'>Trait Implementations</h2><h3 class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../../aws_sdk_rust/aws/common/credentials/struct.ChainProvider.html" title="struct aws_sdk_rust::aws::common::credentials::ChainProvider">ChainProvider</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../../../src/aws_sdk_rust/aws/common/credentials.rs.html#145' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.fmt' class="method"><span id='fmt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt' class='fnname'>fmt</a>(&amp;self, __arg_0: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code></span></h4>
<div class='docblock'><p>Formats the value using the given formatter.</p>
</div></div><h3 class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../../../aws_sdk_rust/aws/common/credentials/struct.ChainProvider.html" title="struct aws_sdk_rust::aws::common::credentials::ChainProvider">ChainProvider</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../../../src/aws_sdk_rust/aws/common/credentials.rs.html#145' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.clone' class="method"><span id='clone.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone' class='fnname'>clone</a>(&amp;self) -&gt; <a class="struct" href="../../../../aws_sdk_rust/aws/common/credentials/struct.ChainProvider.html" title="struct aws_sdk_rust::aws::common::credentials::ChainProvider">ChainProvider</a></code></span></h4>
<div class='docblock'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
</div><h4 id='method.clone_from' class="method"><span id='clone_from.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from' class='fnname'>clone_from</a>(&amp;mut self, source: &amp;Self)</code><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div></span></h4>
<div class='docblock'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
</div></div><h3 class='impl'><span class='in-band'><code>impl <a class="trait" href="../../../../aws_sdk_rust/aws/common/credentials/trait.AwsCredentialsProvider.html" title="trait aws_sdk_rust::aws::common::credentials::AwsCredentialsProvider">AwsCredentialsProvider</a> for <a class="struct" href="../../../../aws_sdk_rust/aws/common/credentials/struct.ChainProvider.html" title="struct aws_sdk_rust::aws::common::credentials::ChainProvider">ChainProvider</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../../../src/aws_sdk_rust/aws/common/credentials.rs.html#576-603' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.credentials' class="method"><span id='credentials.v' class='invisible'><code>fn <a href='../../../../aws_sdk_rust/aws/common/credentials/trait.AwsCredentialsProvider.html#tymethod.credentials' class='fnname'>credentials</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../../../../aws_sdk_rust/aws/common/credentials/struct.AwsCredentials.html" title="struct aws_sdk_rust::aws::common::credentials::AwsCredentials">AwsCredentials</a>, <a class="struct" href="../../../../aws_sdk_rust/aws/errors/creds/struct.CredentialsError.html" title="struct aws_sdk_rust::aws::errors::creds::CredentialsError">CredentialsError</a>&gt;</code></span></h4>
<div class='docblock'><p>Produce a new <code>AwsCredentials</code>.</p>
</div></div></section>
    <section id='search' class="content hidden"></section>

    <section class="footer"></section>

    <aside id="help" class="hidden">
        <div>
            <h1 class="hidden">Help</h1>

            <div class="shortcuts">
                <h2>Keyboard Shortcuts</h2>

                <dl>
                    <dt>?</dt>
                    <dd>Show this help dialog</dd>
                    <dt>S</dt>
                    <dd>Focus the search field</dd>
                    <dt>&larrb;</dt>
                    <dd>Move up in search results</dd>
                    <dt>&rarrb;</dt>
                    <dd>Move down in search results</dd>
                    <dt>&#9166;</dt>
                    <dd>Go to active search result</dd>
                    <dt>+</dt>
                    <dd>Collapse/expand all sections</dd>
                </dl>
            </div>

            <div class="infos">
                <h2>Search Tricks</h2>

                <p>
                    Prefix searches with a type followed by a colon (e.g.
                    <code>fn:</code>) to restrict the search to a given type.
                </p>

                <p>
                    Accepted types are: <code>fn</code>, <code>mod</code>,
                    <code>struct</code>, <code>enum</code>,
                    <code>trait</code>, <code>type</code>, <code>macro</code>,
                    and <code>const</code>.
                </p>

                <p>
                    Search functions by type signature (e.g.
                    <code>vec -> usize</code> or <code>* -> vec</code>)
                </p>
            </div>
        </div>
    </aside>

    

    <script>
        window.rootPath = "../../../../";
        window.currentCrate = "aws_sdk_rust";
    </script>
    <script src="../../../../main.js"></script>
    <script defer src="../../../../search-index.js"></script>
</body>
</html>