AWS SDK for C++

AWS SDK for C++ Version 1.11.783

Loading...
Searching...
No Matches
ProtonClient.h
1
6#pragma once
7#include <aws/core/client/AWSClient.h>
8#include <aws/core/client/AWSClientAsyncCRTP.h>
9#include <aws/core/client/ClientConfiguration.h>
10#include <aws/core/utils/json/JsonSerializer.h>
11#include <aws/proton/ProtonPaginationBase.h>
12#include <aws/proton/ProtonServiceClientModel.h>
13#include <aws/proton/ProtonWaiter.h>
14#include <aws/proton/Proton_EXPORTS.h>
15
16namespace Aws {
17namespace Proton {
106class AWS_PROTON_API ProtonClient : public Aws::Client::AWSJsonClient,
108 public ProtonPaginationBase<ProtonClient>,
109 public ProtonWaiter<ProtonClient> {
110 public:
112 static const char* GetServiceName();
113 static const char* GetAllocationTag();
114
117
123 std::shared_ptr<ProtonEndpointProviderBase> endpointProvider = nullptr);
124
129 ProtonClient(const Aws::Auth::AWSCredentials& credentials, std::shared_ptr<ProtonEndpointProviderBase> endpointProvider = nullptr,
131
136 ProtonClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
137 std::shared_ptr<ProtonEndpointProviderBase> endpointProvider = nullptr,
139
140 /* Legacy constructors due deprecation */
146
151 ProtonClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration);
152
157 ProtonClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
158 const Aws::Client::ClientConfiguration& clientConfiguration);
159
160 /* End of legacy constructors due deprecation */
161 virtual ~ProtonClient();
162
163 virtual void OverrideEndpoint(const Aws::String& endpoint);
164 virtual std::shared_ptr<ProtonEndpointProviderBase>& accessEndpointProvider();
165
166 private:
168 void init(const ProtonClientConfiguration& clientConfiguration);
169
171
172 InvokeOperationOutcome InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const;
173
174 ProtonClientConfiguration m_clientConfiguration;
175 std::shared_ptr<ProtonEndpointProviderBase> m_endpointProvider;
176};
177
178} // namespace Proton
179} // namespace Aws
ProtonEndpointProvider EndpointProviderType
ProtonClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, const Aws::Client::ClientConfiguration &clientConfiguration)
ProtonClient(const Aws::Proton::ProtonClientConfiguration &clientConfiguration=Aws::Proton::ProtonClientConfiguration(), std::shared_ptr< ProtonEndpointProviderBase > endpointProvider=nullptr)
static const char * GetAllocationTag()
virtual void OverrideEndpoint(const Aws::String &endpoint)
static const char * GetServiceName()
virtual std::shared_ptr< ProtonEndpointProviderBase > & accessEndpointProvider()
ProtonClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, std::shared_ptr< ProtonEndpointProviderBase > endpointProvider=nullptr, const Aws::Proton::ProtonClientConfiguration &clientConfiguration=Aws::Proton::ProtonClientConfiguration())
Aws::Client::AWSJsonClient BASECLASS
ProtonClient(const Aws::Client::ClientConfiguration &clientConfiguration)
ProtonClient(const Aws::Auth::AWSCredentials &credentials, const Aws::Client::ClientConfiguration &clientConfiguration)
ProtonClientConfiguration ClientConfigurationType
ProtonClient(const Aws::Auth::AWSCredentials &credentials, std::shared_ptr< ProtonEndpointProviderBase > endpointProvider=nullptr, const Aws::Proton::ProtonClientConfiguration &clientConfiguration=Aws::Proton::ProtonClientConfiguration())
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String