AWS SDK for C++

AWS SDK for C++ Version 1.11.816

Loading...
Searching...
No Matches
STSClient.h
1
6#pragma once
7#include <aws/core/client/AWSClientAsyncCRTP.h>
8#include <aws/core/client/ClientConfiguration.h>
9#include <aws/sts/STSErrorMarshaller.h>
10#include <aws/sts/STSPaginationBase.h>
11#include <aws/sts/STSServiceClientModel.h>
12#include <aws/sts/STSWaiter.h>
13#include <aws/sts/STS_EXPORTS.h>
14#include <smithy/client/AwsSmithyClient.h>
15#include <smithy/client/serializer/XmlOutcomeSerializer.h>
16#include <smithy/identity/auth/built-in/GenericAuthSchemeResolver.h>
17#include <smithy/identity/auth/built-in/NoAuthScheme.h>
18#include <smithy/identity/auth/built-in/SigV4AuthScheme.h>
19#include <smithy/identity/auth/built-in/SigV4aAuthScheme.h>
20
21namespace Aws {
22namespace STS {
23AWS_STS_API extern const char SERVICE_NAME[];
32class AWS_STS_API STSClient
34 public smithy::client::AwsSmithyClientT<Aws::STS::SERVICE_NAME, Aws::STS::STSClientConfiguration, smithy::AuthSchemeResolverBase<>,
35 Aws::Crt::Variant<smithy::SigV4AuthScheme, smithy::SigV4aAuthScheme, smithy::NoAuthScheme>,
36 STSEndpointProviderBase, smithy::client::XmlOutcomeSerializer, smithy::client::XmlOutcome,
37 Aws::Client::STSErrorMarshaller>,
38 public STSPaginationBase<STSClient>,
39 public STSWaiter<STSClient> {
40 public:
41 static const char* GetServiceName();
42 static const char* GetAllocationTag();
43 inline const char* GetServiceClientName() const override { return "STS"; }
44
47
53 std::shared_ptr<STSEndpointProviderBase> endpointProvider = nullptr);
54
59 STSClient(const Aws::Auth::AWSCredentials& credentials, std::shared_ptr<STSEndpointProviderBase> endpointProvider = nullptr,
61
66 STSClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
67 std::shared_ptr<STSEndpointProviderBase> endpointProvider = nullptr,
69
70 /* Legacy constructors due deprecation */
75 STSClient(const Aws::Client::ClientConfiguration& clientConfiguration);
76
81 STSClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration);
82
87 STSClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
88 const Aws::Client::ClientConfiguration& clientConfiguration);
89
90 /* End of legacy constructors due deprecation */
91 virtual ~STSClient();
92
97 const char* region) const;
98
184
188 template <typename AssumeRoleRequestT = Model::AssumeRoleRequest>
189 Model::AssumeRoleOutcomeCallable AssumeRoleCallable(const AssumeRoleRequestT& request) const {
190 return SubmitCallable(&STSClient::AssumeRole, request);
191 }
192
197 template <typename AssumeRoleRequestT = Model::AssumeRoleRequest>
198 void AssumeRoleAsync(const AssumeRoleRequestT& request, const AssumeRoleResponseReceivedHandler& handler,
199 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
200 return SubmitAsync(&STSClient::AssumeRole, request, handler, context);
201 }
202
325
330 template <typename AssumeRoleWithSAMLRequestT = Model::AssumeRoleWithSAMLRequest>
331 Model::AssumeRoleWithSAMLOutcomeCallable AssumeRoleWithSAMLCallable(const AssumeRoleWithSAMLRequestT& request) const {
332 return SubmitCallable(&STSClient::AssumeRoleWithSAML, request);
333 }
334
339 template <typename AssumeRoleWithSAMLRequestT = Model::AssumeRoleWithSAMLRequest>
340 void AssumeRoleWithSAMLAsync(const AssumeRoleWithSAMLRequestT& request, const AssumeRoleWithSAMLResponseReceivedHandler& handler,
341 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
342 return SubmitAsync(&STSClient::AssumeRoleWithSAML, request, handler, context);
343 }
344
469
474 template <typename AssumeRoleWithWebIdentityRequestT = Model::AssumeRoleWithWebIdentityRequest>
476 const AssumeRoleWithWebIdentityRequestT& request) const {
477 return SubmitCallable(&STSClient::AssumeRoleWithWebIdentity, request);
478 }
479
484 template <typename AssumeRoleWithWebIdentityRequestT = Model::AssumeRoleWithWebIdentityRequest>
485 void AssumeRoleWithWebIdentityAsync(const AssumeRoleWithWebIdentityRequestT& request,
487 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
488 return SubmitAsync(&STSClient::AssumeRoleWithWebIdentity, request, handler, context);
489 }
490
522
526 template <typename AssumeRootRequestT = Model::AssumeRootRequest>
527 Model::AssumeRootOutcomeCallable AssumeRootCallable(const AssumeRootRequestT& request) const {
528 return SubmitCallable(&STSClient::AssumeRoot, request);
529 }
530
535 template <typename AssumeRootRequestT = Model::AssumeRootRequest>
536 void AssumeRootAsync(const AssumeRootRequestT& request, const AssumeRootResponseReceivedHandler& handler,
537 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
538 return SubmitAsync(&STSClient::AssumeRoot, request, handler, context);
539 }
540
572 const Model::DecodeAuthorizationMessageRequest& request) const;
573
578 template <typename DecodeAuthorizationMessageRequestT = Model::DecodeAuthorizationMessageRequest>
580 const DecodeAuthorizationMessageRequestT& request) const {
581 return SubmitCallable(&STSClient::DecodeAuthorizationMessage, request);
582 }
583
588 template <typename DecodeAuthorizationMessageRequestT = Model::DecodeAuthorizationMessageRequest>
589 void DecodeAuthorizationMessageAsync(const DecodeAuthorizationMessageRequestT& request,
591 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
592 return SubmitAsync(&STSClient::DecodeAuthorizationMessage, request, handler, context);
593 }
594
624
629 template <typename GetAccessKeyInfoRequestT = Model::GetAccessKeyInfoRequest>
630 Model::GetAccessKeyInfoOutcomeCallable GetAccessKeyInfoCallable(const GetAccessKeyInfoRequestT& request) const {
631 return SubmitCallable(&STSClient::GetAccessKeyInfo, request);
632 }
633
638 template <typename GetAccessKeyInfoRequestT = Model::GetAccessKeyInfoRequest>
639 void GetAccessKeyInfoAsync(const GetAccessKeyInfoRequestT& request, const GetAccessKeyInfoResponseReceivedHandler& handler,
640 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
641 return SubmitAsync(&STSClient::GetAccessKeyInfo, request, handler, context);
642 }
643
659
664 template <typename GetCallerIdentityRequestT = Model::GetCallerIdentityRequest>
665 Model::GetCallerIdentityOutcomeCallable GetCallerIdentityCallable(const GetCallerIdentityRequestT& request = {}) const {
666 return SubmitCallable(&STSClient::GetCallerIdentity, request);
667 }
668
673 template <typename GetCallerIdentityRequestT = Model::GetCallerIdentityRequest>
675 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr,
676 const GetCallerIdentityRequestT& request = {}) const {
677 return SubmitAsync(&STSClient::GetCallerIdentity, request, handler, context);
678 }
679
690
695 template <typename GetDelegatedAccessTokenRequestT = Model::GetDelegatedAccessTokenRequest>
696 Model::GetDelegatedAccessTokenOutcomeCallable GetDelegatedAccessTokenCallable(const GetDelegatedAccessTokenRequestT& request) const {
697 return SubmitCallable(&STSClient::GetDelegatedAccessToken, request);
698 }
699
704 template <typename GetDelegatedAccessTokenRequestT = Model::GetDelegatedAccessTokenRequest>
705 void GetDelegatedAccessTokenAsync(const GetDelegatedAccessTokenRequestT& request,
707 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
708 return SubmitAsync(&STSClient::GetDelegatedAccessToken, request, handler, context);
709 }
710
802
807 template <typename GetFederationTokenRequestT = Model::GetFederationTokenRequest>
808 Model::GetFederationTokenOutcomeCallable GetFederationTokenCallable(const GetFederationTokenRequestT& request) const {
809 return SubmitCallable(&STSClient::GetFederationToken, request);
810 }
811
816 template <typename GetFederationTokenRequestT = Model::GetFederationTokenRequest>
817 void GetFederationTokenAsync(const GetFederationTokenRequestT& request, const GetFederationTokenResponseReceivedHandler& handler,
818 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
819 return SubmitAsync(&STSClient::GetFederationToken, request, handler, context);
820 }
821
876
880 template <typename GetSessionTokenRequestT = Model::GetSessionTokenRequest>
881 Model::GetSessionTokenOutcomeCallable GetSessionTokenCallable(const GetSessionTokenRequestT& request = {}) const {
882 return SubmitCallable(&STSClient::GetSessionToken, request);
883 }
884
889 template <typename GetSessionTokenRequestT = Model::GetSessionTokenRequest>
891 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr,
892 const GetSessionTokenRequestT& request = {}) const {
893 return SubmitAsync(&STSClient::GetSessionToken, request, handler, context);
894 }
895
906
911 template <typename GetWebIdentityTokenRequestT = Model::GetWebIdentityTokenRequest>
912 Model::GetWebIdentityTokenOutcomeCallable GetWebIdentityTokenCallable(const GetWebIdentityTokenRequestT& request) const {
913 return SubmitCallable(&STSClient::GetWebIdentityToken, request);
914 }
915
920 template <typename GetWebIdentityTokenRequestT = Model::GetWebIdentityTokenRequest>
921 void GetWebIdentityTokenAsync(const GetWebIdentityTokenRequestT& request, const GetWebIdentityTokenResponseReceivedHandler& handler,
922 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
923 return SubmitAsync(&STSClient::GetWebIdentityToken, request, handler, context);
924 }
925
926 virtual void OverrideEndpoint(const Aws::String& endpoint);
927 virtual std::shared_ptr<STSEndpointProviderBase>& accessEndpointProvider();
928
929 private:
931
933
934 InvokeOperationOutcome InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const;
935};
936
937} // namespace STS
938} // namespace Aws
Model::GetAccessKeyInfoOutcomeCallable GetAccessKeyInfoCallable(const GetAccessKeyInfoRequestT &request) const
Definition STSClient.h:630
STSClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, std::shared_ptr< STSEndpointProviderBase > endpointProvider=nullptr, const Aws::STS::STSClientConfiguration &clientConfiguration=Aws::STS::STSClientConfiguration())
void GetAccessKeyInfoAsync(const GetAccessKeyInfoRequestT &request, const GetAccessKeyInfoResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Definition STSClient.h:639
virtual Model::GetAccessKeyInfoOutcome GetAccessKeyInfo(const Model::GetAccessKeyInfoRequest &request) const
Model::GetFederationTokenOutcomeCallable GetFederationTokenCallable(const GetFederationTokenRequestT &request) const
Definition STSClient.h:808
Model::AssumeRoleWithWebIdentityOutcomeCallable AssumeRoleWithWebIdentityCallable(const AssumeRoleWithWebIdentityRequestT &request) const
Definition STSClient.h:475
virtual Model::GetWebIdentityTokenOutcome GetWebIdentityToken(const Model::GetWebIdentityTokenRequest &request) const
virtual Model::GetCallerIdentityOutcome GetCallerIdentity(const Model::GetCallerIdentityRequest &request={}) const
Model::GetWebIdentityTokenOutcomeCallable GetWebIdentityTokenCallable(const GetWebIdentityTokenRequestT &request) const
Definition STSClient.h:912
STSClient(const Aws::STS::STSClientConfiguration &clientConfiguration=Aws::STS::STSClientConfiguration(), std::shared_ptr< STSEndpointProviderBase > endpointProvider=nullptr)
void AssumeRoleWithWebIdentityAsync(const AssumeRoleWithWebIdentityRequestT &request, const AssumeRoleWithWebIdentityResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Definition STSClient.h:485
void AssumeRoleAsync(const AssumeRoleRequestT &request, const AssumeRoleResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Definition STSClient.h:198
void DecodeAuthorizationMessageAsync(const DecodeAuthorizationMessageRequestT &request, const DecodeAuthorizationMessageResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Definition STSClient.h:589
void GetCallerIdentityAsync(const GetCallerIdentityResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr, const GetCallerIdentityRequestT &request={}) const
Definition STSClient.h:674
virtual Model::AssumeRoleWithSAMLOutcome AssumeRoleWithSAML(const Model::AssumeRoleWithSAMLRequest &request) const
virtual std::shared_ptr< STSEndpointProviderBase > & accessEndpointProvider()
Model::AssumeRoleWithSAMLOutcomeCallable AssumeRoleWithSAMLCallable(const AssumeRoleWithSAMLRequestT &request) const
Definition STSClient.h:331
void GetFederationTokenAsync(const GetFederationTokenRequestT &request, const GetFederationTokenResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Definition STSClient.h:817
STSClientConfiguration ClientConfigurationType
Definition STSClient.h:45
Model::GetDelegatedAccessTokenOutcomeCallable GetDelegatedAccessTokenCallable(const GetDelegatedAccessTokenRequestT &request) const
Definition STSClient.h:696
virtual Model::AssumeRoleWithWebIdentityOutcome AssumeRoleWithWebIdentity(const Model::AssumeRoleWithWebIdentityRequest &request) const
virtual Aws::String ConvertRequestToPresignedUrl(const Aws::AmazonSerializableWebServiceRequest &requestToConvert, const char *region) const
STSClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, const Aws::Client::ClientConfiguration &clientConfiguration)
const char * GetServiceClientName() const override
Definition STSClient.h:43
void GetWebIdentityTokenAsync(const GetWebIdentityTokenRequestT &request, const GetWebIdentityTokenResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Definition STSClient.h:921
virtual Model::AssumeRoleOutcome AssumeRole(const Model::AssumeRoleRequest &request) const
virtual Model::DecodeAuthorizationMessageOutcome DecodeAuthorizationMessage(const Model::DecodeAuthorizationMessageRequest &request) const
static const char * GetServiceName()
virtual Model::GetSessionTokenOutcome GetSessionToken(const Model::GetSessionTokenRequest &request={}) const
STSClient(const Aws::Auth::AWSCredentials &credentials, const Aws::Client::ClientConfiguration &clientConfiguration)
Model::DecodeAuthorizationMessageOutcomeCallable DecodeAuthorizationMessageCallable(const DecodeAuthorizationMessageRequestT &request) const
Definition STSClient.h:579
void GetSessionTokenAsync(const GetSessionTokenResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr, const GetSessionTokenRequestT &request={}) const
Definition STSClient.h:890
Model::AssumeRoleOutcomeCallable AssumeRoleCallable(const AssumeRoleRequestT &request) const
Definition STSClient.h:189
Model::AssumeRootOutcomeCallable AssumeRootCallable(const AssumeRootRequestT &request) const
Definition STSClient.h:527
Model::GetCallerIdentityOutcomeCallable GetCallerIdentityCallable(const GetCallerIdentityRequestT &request={}) const
Definition STSClient.h:665
virtual Model::GetFederationTokenOutcome GetFederationToken(const Model::GetFederationTokenRequest &request) const
static const char * GetAllocationTag()
void AssumeRootAsync(const AssumeRootRequestT &request, const AssumeRootResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Definition STSClient.h:536
virtual void OverrideEndpoint(const Aws::String &endpoint)
virtual Model::GetDelegatedAccessTokenOutcome GetDelegatedAccessToken(const Model::GetDelegatedAccessTokenRequest &request) const
STSClient(const Aws::Auth::AWSCredentials &credentials, std::shared_ptr< STSEndpointProviderBase > endpointProvider=nullptr, const Aws::STS::STSClientConfiguration &clientConfiguration=Aws::STS::STSClientConfiguration())
Model::GetSessionTokenOutcomeCallable GetSessionTokenCallable(const GetSessionTokenRequestT &request={}) const
Definition STSClient.h:881
void AssumeRoleWithSAMLAsync(const AssumeRoleWithSAMLRequestT &request, const AssumeRoleWithSAMLResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Definition STSClient.h:340
STSClient(const Aws::Client::ClientConfiguration &clientConfiguration)
virtual Model::AssumeRootOutcome AssumeRoot(const Model::AssumeRootRequest &request) const
STSEndpointProvider EndpointProviderType
Definition STSClient.h:46
void GetDelegatedAccessTokenAsync(const GetDelegatedAccessTokenRequestT &request, const GetDelegatedAccessTokenResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Definition STSClient.h:705
std::future< GetCallerIdentityOutcome > GetCallerIdentityOutcomeCallable
std::future< AssumeRoleWithWebIdentityOutcome > AssumeRoleWithWebIdentityOutcomeCallable
std::future< GetAccessKeyInfoOutcome > GetAccessKeyInfoOutcomeCallable
std::future< AssumeRootOutcome > AssumeRootOutcomeCallable
std::future< GetWebIdentityTokenOutcome > GetWebIdentityTokenOutcomeCallable
std::future< AssumeRoleWithSAMLOutcome > AssumeRoleWithSAMLOutcomeCallable
std::future< GetFederationTokenOutcome > GetFederationTokenOutcomeCallable
std::future< DecodeAuthorizationMessageOutcome > DecodeAuthorizationMessageOutcomeCallable
std::future< GetDelegatedAccessTokenOutcome > GetDelegatedAccessTokenOutcomeCallable
std::future< AssumeRoleOutcome > AssumeRoleOutcomeCallable
std::future< GetSessionTokenOutcome > GetSessionTokenOutcomeCallable
std::function< void(const STSClient *, const Model::GetDelegatedAccessTokenRequest &, const Model::GetDelegatedAccessTokenOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> GetDelegatedAccessTokenResponseReceivedHandler
std::function< void(const STSClient *, const Model::AssumeRootRequest &, const Model::AssumeRootOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> AssumeRootResponseReceivedHandler
std::function< void(const STSClient *, const Model::DecodeAuthorizationMessageRequest &, const Model::DecodeAuthorizationMessageOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> DecodeAuthorizationMessageResponseReceivedHandler
std::function< void(const STSClient *, const Model::AssumeRoleRequest &, const Model::AssumeRoleOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> AssumeRoleResponseReceivedHandler
AWS_STS_API const char SERVICE_NAME[]
std::function< void(const STSClient *, const Model::GetSessionTokenRequest &, const Model::GetSessionTokenOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> GetSessionTokenResponseReceivedHandler
std::function< void(const STSClient *, const Model::GetAccessKeyInfoRequest &, const Model::GetAccessKeyInfoOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> GetAccessKeyInfoResponseReceivedHandler
std::function< void(const STSClient *, const Model::GetWebIdentityTokenRequest &, const Model::GetWebIdentityTokenOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> GetWebIdentityTokenResponseReceivedHandler
std::function< void(const STSClient *, const Model::GetCallerIdentityRequest &, const Model::GetCallerIdentityOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> GetCallerIdentityResponseReceivedHandler
std::function< void(const STSClient *, const Model::GetFederationTokenRequest &, const Model::GetFederationTokenOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> GetFederationTokenResponseReceivedHandler
std::function< void(const STSClient *, const Model::AssumeRoleWithWebIdentityRequest &, const Model::AssumeRoleWithWebIdentityOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> AssumeRoleWithWebIdentityResponseReceivedHandler
std::function< void(const STSClient *, const Model::AssumeRoleWithSAMLRequest &, const Model::AssumeRoleWithSAMLOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> AssumeRoleWithSAMLResponseReceivedHandler
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String