aws_smithy_runtime/client/identity/
no_auth.rs

1/*
2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 * SPDX-License-Identifier: Apache-2.0
4 */
5
6use aws_smithy_runtime_api::client::identity::{Identity, IdentityFuture, ResolveIdentity};
7use aws_smithy_runtime_api::client::runtime_components::RuntimeComponents;
8use aws_smithy_types::config_bag::ConfigBag;
9
10/// Identity for the [`NoAuthScheme`](crate::client::auth::no_auth::NoAuthScheme) auth scheme.
11#[derive(Debug, Default)]
12pub struct NoAuthIdentity;
13
14impl NoAuthIdentity {
15    /// Creates a new `NoAuthIdentity`.
16    pub fn new() -> Self {
17        Self
18    }
19}
20
21/// Identity resolver for the [`NoAuthScheme`](crate::client::auth::no_auth::NoAuthScheme) auth scheme.
22#[derive(Debug, Default)]
23pub struct NoAuthIdentityResolver;
24
25impl NoAuthIdentityResolver {
26    /// Creates a new `NoAuthIdentityResolver`.
27    pub fn new() -> Self {
28        Self
29    }
30}
31
32impl ResolveIdentity for NoAuthIdentityResolver {
33    fn resolve_identity<'a>(
34        &'a self,
35        _runtime_components: &'a RuntimeComponents,
36        _: &'a ConfigBag,
37    ) -> IdentityFuture<'a> {
38        IdentityFuture::ready(Ok(Identity::new(NoAuthIdentity::new(), None)))
39    }
40}