8#include <aws/core/auth/signer/AWSAuthV4Signer.h>
9#include <aws/core/client/GenericClientConfiguration.h>
10#include <aws/crt/io/Bootstrap.h>
11#include <aws/crt/io/TlsOptions.h>
12#include <aws/io/retry_strategy.h>
13#include <aws/s3-crt/S3Crt_EXPORTS.h>
14#include <aws/s3-crt/S3ExpressIdentityProvider.h>
51 bool iUseVirtualAddressing =
true,
54 bool useVirtualAddressing =
true;
56 bool disableMultiRegionAccessPoints =
false;
57 bool useArnRegion =
false;
59 bool disableS3ExpressAuth =
false;
62 return Aws::MakeShared<DefaultS3ExpressIdentityProvider>(
"S3CrtClientConfiguration", client);
90 size_t partSize = 8 * 1024 * 1024;
98 double throughputTargetGbps = 10.0;
104 size_t downloadMemoryUsageWindow = 0;
109 uint64_t memoryLimitBytes = 0;
113 void* shutdownCallbackUserData =
nullptr;
122 } crtRetryStrategyType = CrtRetryStrategyType::NOT_SET;
129 size_t maxRetries = 0;
132 uint32_t scaleFactorMs = 500;
135 uint32_t maxBackoffSecs = 20;
137 } crtRetryStrategyConfig;
147 size_t multipartUploadThreshold{0};
164 } contentLengthConfiguration{CONTENT_LENGTH_CONFIGURATION::SEEK_STREAM};
167 void LoadS3CrtSpecificConfig(
const Aws::String& profileName);
US_EAST_1_REGIONAL_ENDPOINT_OPTION
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
static S3CrtConfigFactories defaultFactories
std::shared_ptr< Aws::Crt::Io::ClientBootstrap > clientBootstrap
S3CrtClientConfiguration(const Client::ClientConfigurationInitValues &configuration={})
Aws::Vector< Aws::String > networkInterfaceNames
S3CrtClientConfiguration & operator=(const S3CrtClientConfiguration &)=default
std::function< void(void *)> clientShutdownCallback
S3CrtClientConfiguration(const S3CrtClientConfiguration &)=default
CONTENT_LENGTH_CONFIGURATION
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::function< std::shared_ptr< S3ExpressIdentityProvider >(const S3CrtClient &)> IdentityProviderSupplier
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)