AWS SDK for C++
AWS SDK for C++
Loading...
Searching...
No Matches
ClientConfiguration.h
Go to the documentation of this file.
1
6#pragma once
7
10#include <aws/core/Region.h>
14#include <aws/crt/Optional.h>
15#include <memory>
16
17namespace Aws
18{
19 namespace Utils
20 {
21 namespace Threading
22 {
23 class Executor;
24 } // namespace Threading
25
26 namespace RateLimits
27 {
28 class RateLimiterInterface;
29 } // namespace RateLimits
30 } // namespace Utils
31 namespace Client
32 {
33 class RetryStrategy; // forward declare
34
42 {
43 DEFAULT,
44 ALWAYS,
45 NEVER
46 };
47
53 {
55
60 ClientConfiguration(const char* profileName);
61
67 explicit ClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy");
68
84 bool useDualStack = false;
85
89 bool useFIPS = false;
90
94 unsigned maxConnections = 25;
100 long httpRequestTimeoutMs = 0;
108 long requestTimeoutMs = 0;
112 long connectTimeoutMs = 1000;
117 bool enableTcpKeepAlive = true;
123 unsigned long tcpKeepAliveIntervalMs = 30000;
128 unsigned long lowSpeedLimit = 1;
132 std::shared_ptr<RetryStrategy> retryStrategy;
148 unsigned proxyPort = 0;
189 std::shared_ptr<Aws::Utils::Threading::Executor> executor;
194 bool verifySSL = true;
210 std::shared_ptr<Aws::Utils::RateLimits::RateLimiterInterface> writeRateLimiter;
214 std::shared_ptr<Aws::Utils::RateLimits::RateLimiterInterface> readRateLimiter;
223
233 bool disableExpectHeader = false;
234
238 bool enableClockSkewAdjustment = true;
239
247 bool enableHostPrefixInjection = true;
248
260 Aws::Crt::Optional<bool> enableEndpointDiscovery;
261
266
271 const Aws::String& profile,
272 const Aws::String& profileProperty,
273 const Aws::Vector<Aws::String>& allowedValues,
274 const Aws::String& defaultValue);
275 };
276
281 std::shared_ptr<RetryStrategy> InitRetryStrategy(Aws::String retryMode = "");
282
283 } // namespace Client
284} // namespace Aws
#define AWS_CORE_API
Definition: Core_EXPORTS.h:26
std::shared_ptr< RetryStrategy > InitRetryStrategy(Aws::String retryMode="")
TransferLibType
Definition: HttpTypes.h:37
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:17
ClientConfiguration(bool useSmartDefaults, const char *defaultMode="legacy")
Aws::Crt::Optional< bool > enableEndpointDiscovery
std::shared_ptr< RetryStrategy > retryStrategy
static Aws::String LoadConfigFromEnvOrProfile(const Aws::String &envKey, const Aws::String &profile, const Aws::String &profileProperty, const Aws::Vector< Aws::String > &allowedValues, const Aws::String &defaultValue)
Aws::Http::TransferLibType httpLibOverride
ClientConfiguration(const char *profileName)
std::shared_ptr< Aws::Utils::RateLimits::RateLimiterInterface > writeRateLimiter
std::shared_ptr< Aws::Utils::Threading::Executor > executor
std::shared_ptr< Aws::Utils::RateLimits::RateLimiterInterface > readRateLimiter
Aws::Utils::Array< Aws::String > nonProxyHosts