8#include <aws/s3-crt/S3Crt_EXPORTS.h>
9#include <aws/s3-crt/S3ExpressIdentityProvider.h>
10#include <aws/core/client/GenericClientConfiguration.h>
11#include <aws/core/auth/signer/AWSAuthV4Signer.h>
12#include <aws/crt/io/Bootstrap.h>
13#include <aws/crt/io/TlsOptions.h>
14#include <aws/io/retry_strategy.h>
55 bool iUseVirtualAddressing =
true,
58 bool useVirtualAddressing =
true;
60 bool disableMultiRegionAccessPoints =
false;
61 bool useArnRegion =
false;
63 bool disableS3ExpressAuth =
false;
66 return Aws::MakeShared<DefaultS3ExpressIdentityProvider>(
"S3CrtClientConfiguration", client);
95 size_t partSize = 8 * 1024 * 1024;
103 double throughputTargetGbps = 10.0;
109 size_t downloadMemoryUsageWindow = 0;
114 uint64_t memoryLimitBytes = 0;
118 void *shutdownCallbackUserData =
nullptr;
129 } crtRetryStrategyType = CrtRetryStrategyType::NOT_SET;
137 size_t maxRetries = 0;
140 uint32_t scaleFactorMs = 500;
143 uint32_t maxBackoffSecs = 20;
145 } crtRetryStrategyConfig;
155 size_t multipartUploadThreshold{0};
158 void LoadS3CrtSpecificConfig(
const Aws::String& profileName);
US_EAST_1_REGIONAL_ENDPOINT_OPTION
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
static S3CrtConfigFactories defaultFactories
std::shared_ptr< Aws::Crt::Io::ClientBootstrap > clientBootstrap
S3CrtClientConfiguration(const Client::ClientConfigurationInitValues &configuration={})
std::function< std::shared_ptr< S3ExpressIdentityProvider >(const S3CrtClient &)> IdentityProviderSupplier
S3CrtClientConfiguration & operator=(const S3CrtClientConfiguration &)=default
std::function< void(void *)> clientShutdownCallback
S3CrtClientConfiguration(const S3CrtClientConfiguration &)=default
S3CrtClientConfiguration(const Client::ClientConfiguration &config, Client::AWSAuthV4Signer::PayloadSigningPolicy iPayloadSigningPolicy=Client::AWSAuthV4Signer::PayloadSigningPolicy::Never, bool iUseVirtualAddressing=true, US_EAST_1_REGIONAL_ENDPOINT_OPTION iUseUSEast1RegionalEndPointOption=US_EAST_1_REGIONAL_ENDPOINT_OPTION::NOT_SET)
std::shared_ptr< Aws::Crt::Io::TlsConnectionOptions > tlsConnectionOptions
S3CrtClientConfiguration(const char *profileName, bool shouldDisableIMDS=false)
S3CrtClientConfiguration(bool useSmartDefaults, const char *defaultMode="legacy", bool shouldDisableIMDS=false)