AWS SDK for C++  1.9.102
AWS SDK for C++
SSOClient.h
Go to the documentation of this file.
1 
6 #pragma once
7 #include <aws/sso/SSO_EXPORTS.h>
8 #include <aws/sso/SSOErrors.h>
17 #include <aws/core/NoResult.h>
20 #include <future>
21 #include <functional>
22 
23 namespace Aws
24 {
25 
26 namespace Http
27 {
28  class HttpClient;
29  class HttpClientFactory;
30 } // namespace Http
31 
32 namespace Utils
33 {
34  template< typename R, typename E> class Outcome;
35 namespace Threading
36 {
37  class Executor;
38 } // namespace Threading
39 } // namespace Utils
40 
41 namespace Auth
42 {
43  class AWSCredentials;
44  class AWSCredentialsProvider;
45 } // namespace Auth
46 
47 namespace Client
48 {
49  class RetryStrategy;
50 } // namespace Client
51 
52 namespace SSO
53 {
54 
55 namespace Model
56 {
57  class GetRoleCredentialsRequest;
58  class ListAccountRolesRequest;
59  class ListAccountsRequest;
60  class LogoutRequest;
61 
66 
67  typedef std::future<GetRoleCredentialsOutcome> GetRoleCredentialsOutcomeCallable;
68  typedef std::future<ListAccountRolesOutcome> ListAccountRolesOutcomeCallable;
69  typedef std::future<ListAccountsOutcome> ListAccountsOutcomeCallable;
70  typedef std::future<LogoutOutcome> LogoutOutcomeCallable;
71 } // namespace Model
72 
73  class SSOClient;
74 
75  typedef std::function<void(const SSOClient*, const Model::GetRoleCredentialsRequest&, const Model::GetRoleCredentialsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetRoleCredentialsResponseReceivedHandler;
76  typedef std::function<void(const SSOClient*, const Model::ListAccountRolesRequest&, const Model::ListAccountRolesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListAccountRolesResponseReceivedHandler;
77  typedef std::function<void(const SSOClient*, const Model::ListAccountsRequest&, const Model::ListAccountsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListAccountsResponseReceivedHandler;
78  typedef std::function<void(const SSOClient*, const Model::LogoutRequest&, const Model::LogoutOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > LogoutResponseReceivedHandler;
79 
98  {
99  public:
101 
107 
113 
118  SSOClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
120 
121  virtual ~SSOClient();
122 
123 
131 
141 
150  virtual void GetRoleCredentialsAsync(const Model::GetRoleCredentialsRequest& request, const GetRoleCredentialsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
151 
159 
169 
178  virtual void ListAccountRolesAsync(const Model::ListAccountRolesRequest& request, const ListAccountRolesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
179 
190 
203 
215  virtual void ListAccountsAsync(const Model::ListAccountsRequest& request, const ListAccountsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
216 
223  virtual Model::LogoutOutcome Logout(const Model::LogoutRequest& request) const;
224 
234 
243  virtual void LogoutAsync(const Model::LogoutRequest& request, const LogoutResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
244 
245 
246  void OverrideEndpoint(const Aws::String& endpoint);
247  private:
248  void init(const Aws::Client::ClientConfiguration& clientConfiguration);
249  void GetRoleCredentialsAsyncHelper(const Model::GetRoleCredentialsRequest& request, const GetRoleCredentialsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
250  void ListAccountRolesAsyncHelper(const Model::ListAccountRolesRequest& request, const ListAccountRolesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
251  void ListAccountsAsyncHelper(const Model::ListAccountsRequest& request, const ListAccountsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
252  void LogoutAsyncHelper(const Model::LogoutRequest& request, const LogoutResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
253 
254  Aws::String m_uri;
255  Aws::String m_configScheme;
256  std::shared_ptr<Aws::Utils::Threading::Executor> m_executor;
257  };
258 
259 } // namespace SSO
260 } // namespace Aws
Aws::SSO::SSOClient::ListAccountRolesAsync
virtual void ListAccountRolesAsync(const Model::ListAccountRolesRequest &request, const ListAccountRolesResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Aws::DirectoryService::Model::LDAPSType::NOT_SET
@ NOT_SET
Aws::IoTSiteWise::Model::AuthMode::NOT_SET
@ NOT_SET
GetRoleCredentialsResult.h
ListAccountsResult.h
Aws::SSO::SSOClient::GetRoleCredentialsAsync
virtual void GetRoleCredentialsAsync(const Model::GetRoleCredentialsRequest &request, const GetRoleCredentialsResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
AWSError.h
Aws::SSO::SSOClient
Definition: SSOClient.h:98
Aws::SSO::Model::ListAccountsOutcome
Aws::Utils::Outcome< ListAccountsResult, SSOError > ListAccountsOutcome
Definition: SSOClient.h:64
Aws::SSO::SSOClient::SSOClient
SSOClient(const Aws::Client::ClientConfiguration &clientConfiguration=Aws::Client::ClientConfiguration())
Aws::SSO::SSOClient::Logout
virtual Model::LogoutOutcome Logout(const Model::LogoutRequest &request) const
Aws::SSO::Model::GetRoleCredentialsOutcome
Aws::Utils::Outcome< GetRoleCredentialsResult, SSOError > GetRoleCredentialsOutcome
Definition: SSOClient.h:60
SSO_EXPORTS.h
Aws::SSO::Model::GetRoleCredentialsRequest
Definition: GetRoleCredentialsRequest.h:26
AWS_SSO_API
#define AWS_SSO_API
Definition: SSO_EXPORTS.h:28
ListAccountRolesResult.h
Aws::SSO::Model::GetRoleCredentialsOutcomeCallable
std::future< GetRoleCredentialsOutcome > GetRoleCredentialsOutcomeCallable
Definition: SSOClient.h:67
Aws::SSO::SSOClient::ListAccountsCallable
virtual Model::ListAccountsOutcomeCallable ListAccountsCallable(const Model::ListAccountsRequest &request) const
Aws::SSO::LogoutResponseReceivedHandler
std::function< void(const SSOClient *, const Model::LogoutRequest &, const Model::LogoutOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > LogoutResponseReceivedHandler
Definition: SSOClient.h:78
Aws::SSO::ListAccountRolesResponseReceivedHandler
std::function< void(const SSOClient *, const Model::ListAccountRolesRequest &, const Model::ListAccountRolesOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListAccountRolesResponseReceivedHandler
Definition: SSOClient.h:76
Aws::SSO::ListAccountsResponseReceivedHandler
std::function< void(const SSOClient *, const Model::ListAccountsRequest &, const Model::ListAccountsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListAccountsResponseReceivedHandler
Definition: SSOClient.h:77
AsyncCallerContext.h
Aws::SSO::SSOClient::LogoutCallable
virtual Model::LogoutOutcomeCallable LogoutCallable(const Model::LogoutRequest &request) const
Aws::SSO::Model::LogoutRequest
Definition: LogoutRequest.h:22
Aws::SSO::SSOClient::LogoutAsync
virtual void LogoutAsync(const Model::LogoutRequest &request, const LogoutResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Aws::SSO::SSOClient::ListAccountsAsync
virtual void ListAccountsAsync(const Model::ListAccountsRequest &request, const ListAccountsResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
NoResult.h
Aws::SSO::SSOClient::SSOClient
SSOClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, const Aws::Client::ClientConfiguration &clientConfiguration=Aws::Client::ClientConfiguration())
Aws::Client::ClientConfiguration
Definition: ClientConfiguration.h:53
Aws::SSO::Model::LogoutOutcomeCallable
std::future< LogoutOutcome > LogoutOutcomeCallable
Definition: SSOClient.h:70
Aws::SSO::SSOClient::BASECLASS
Aws::Client::AWSJsonClient BASECLASS
Definition: SSOClient.h:100
Aws::Auth::AWSCredentials
Definition: AWSCredentials.h:19
Aws::SSO::Model::ListAccountRolesOutcome
Aws::Utils::Outcome< ListAccountRolesResult, SSOError > ListAccountRolesOutcome
Definition: SSOClient.h:63
AWSString.h
Aws::Client::AWSJsonClient
Definition: AWSClient.h:338
Aws::SSO::SSOClient::SSOClient
SSOClient(const Aws::Auth::AWSCredentials &credentials, const Aws::Client::ClientConfiguration &clientConfiguration=Aws::Client::ClientConfiguration())
Aws::SSO::Model::ListAccountsOutcomeCallable
std::future< ListAccountsOutcome > ListAccountsOutcomeCallable
Definition: SSOClient.h:69
Aws::SSO::SSOClient::ListAccountRoles
virtual Model::ListAccountRolesOutcome ListAccountRoles(const Model::ListAccountRolesRequest &request) const
ClientConfiguration.h
Aws::SSO::GetRoleCredentialsResponseReceivedHandler
std::function< void(const SSOClient *, const Model::GetRoleCredentialsRequest &, const Model::GetRoleCredentialsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetRoleCredentialsResponseReceivedHandler
Definition: SSOClient.h:73
Aws::SSO::SSOClient::GetRoleCredentials
virtual Model::GetRoleCredentialsOutcome GetRoleCredentials(const Model::GetRoleCredentialsRequest &request) const
Aws
Definition: AccessManagementClient.h:15
HttpTypes.h
Aws::SSO::Model::LogoutOutcome
Aws::Utils::Outcome< Aws::NoResult, SSOError > LogoutOutcome
Definition: SSOClient.h:65
Aws::Utils::Outcome
Definition: Outcome.h:26
Aws::SSO::SSOClient::ListAccountRolesCallable
virtual Model::ListAccountRolesOutcomeCallable ListAccountRolesCallable(const Model::ListAccountRolesRequest &request) const
Aws::String
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
AWSClient.h
Aws::SSO::SSOClient::GetRoleCredentialsCallable
virtual Model::GetRoleCredentialsOutcomeCallable GetRoleCredentialsCallable(const Model::GetRoleCredentialsRequest &request) const
Aws::SSO::Model::ListAccountRolesRequest
Definition: ListAccountRolesRequest.h:26
Aws::SSO::SSOClient::ListAccounts
virtual Model::ListAccountsOutcome ListAccounts(const Model::ListAccountsRequest &request) const
Aws::SSO::Model::ListAccountRolesOutcomeCallable
std::future< ListAccountRolesOutcome > ListAccountRolesOutcomeCallable
Definition: SSOClient.h:68
SSOErrors.h
Aws::SSO::SSOClient::OverrideEndpoint
void OverrideEndpoint(const Aws::String &endpoint)
JsonSerializer.h
Aws::SSO::SSOClient::~SSOClient
virtual ~SSOClient()
Aws::SSO::Model::ListAccountsRequest
Definition: ListAccountsRequest.h:26