AWS SDK for C++

AWS SDK for C++ Version 1.11.827

Loading...
Searching...
No Matches
NoAuthScheme.h
1
5#pragma once
6
7#include <smithy/identity/auth/AuthScheme.h>
8#include <smithy/identity/auth/built-in/NoAuthSchemeOption.h>
9
10#include <smithy/identity/identity/AwsCredentialIdentityBase.h>
11#include <smithy/identity/signer/built-in/NoAuthSigner.h>
12#include <smithy/identity/resolver/built-in/NoAuthIdentityResolver.h>
13
14namespace smithy {
15 constexpr char NOAUTH[] = "smithy.api#noAuth";
16
17 class NoAuthScheme : public AuthScheme<AwsCredentialIdentityBase>
18 {
19 public:
22
23 explicit NoAuthScheme()
25 m_signer{Aws::MakeShared<AwsNoAuthSigner>("NoAuthScheme")},
26 m_identityResolver{Aws::MakeShared<NoAuthIdentityResolver>("NoAuthScheme")}
27 {
28 assert(m_signer);
29 assert(m_identityResolver);
30 }
31
32 explicit NoAuthScheme(std::shared_ptr<AwsCredentialIdentityResolverT> identityResolver,
33 const Aws::String& serviceName,
34 const Aws::String& region)
36 m_signer{Aws::MakeShared<AwsNoAuthSigner>("NoAuthScheme")},
37 m_identityResolver{Aws::MakeShared<NoAuthIdentityResolver>("NoAuthScheme")}
38 {
39 AWS_UNREFERENCED_PARAM(identityResolver);
40 AWS_UNREFERENCED_PARAM(serviceName);
41 AWS_UNREFERENCED_PARAM(region);
42 assert(m_signer);
43 assert(m_identityResolver);
44 }
45
46 explicit NoAuthScheme(const Aws::String& serviceName,
47 const Aws::String& region)
48 : NoAuthScheme(nullptr, serviceName, region)
49 {
50 assert(m_signer);
51 assert(m_identityResolver);
52 }
53
54 explicit NoAuthScheme(const Aws::String& serviceName, const Aws::String& region,
56 : NoAuthScheme(nullptr, serviceName, region)
57 {
58 AWS_UNREFERENCED_PARAM(config);
59 assert(m_signer);
60 assert(m_identityResolver);
61 }
62
63 //legacy constructors
64 explicit NoAuthScheme(std::shared_ptr<AwsCredentialIdentityResolverT> identityResolver, const Aws::String& serviceName, const Aws::String& region, Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy policy, bool urlEscape)
66 m_signer{Aws::MakeShared<AwsNoAuthSigner>("NoAuthScheme")},
67 m_identityResolver{Aws::MakeShared<NoAuthIdentityResolver>("NoAuthScheme")}
68 {
69 AWS_UNREFERENCED_PARAM(identityResolver);
70 AWS_UNREFERENCED_PARAM(serviceName);
71 AWS_UNREFERENCED_PARAM(region);
72 AWS_UNREFERENCED_PARAM(policy);
73 AWS_UNREFERENCED_PARAM(urlEscape);
74 assert(m_signer);
75 assert(m_identityResolver);
76 }
77
78 virtual ~NoAuthScheme() = default;
79
80 std::shared_ptr<AwsCredentialIdentityResolverT> identityResolver() override
81 {
82 return m_identityResolver;
83 }
84
85 std::shared_ptr<AwsCredentialSignerT> signer() override
86 {
87 return m_signer;
88 }
89
90 protected:
91 std::shared_ptr<AwsCredentialSignerT> m_signer;
92 std::shared_ptr<AwsCredentialIdentityResolverT> m_identityResolver;
93 };
94}
std::shared_ptr< AwsCredentialSignerT > signer() override
NoAuthScheme(std::shared_ptr< AwsCredentialIdentityResolverT > identityResolver, const Aws::String &serviceName, const Aws::String &region)
NoAuthScheme(const Aws::String &serviceName, const Aws::String &region, const Aws::Client::ClientConfiguration::CredentialProviderConfiguration &config)
NoAuthScheme(const Aws::String &serviceName, const Aws::String &region)
virtual ~NoAuthScheme()=default
std::shared_ptr< AwsCredentialIdentityResolverT > m_identityResolver
std::shared_ptr< AwsCredentialSignerT > m_signer
NoAuthScheme(std::shared_ptr< AwsCredentialIdentityResolverT > identityResolver, const Aws::String &serviceName, const Aws::String &region, Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy policy, bool urlEscape)
std::shared_ptr< AwsCredentialIdentityResolverT > identityResolver() override
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition AWSString.h:97
constexpr char NOAUTH[]