diff --git a/cloud/aws/aws_retry.cc b/cloud/aws/aws_retry.cc index 28c00f9e398..4ea6c65ef32 100644 --- a/cloud/aws/aws_retry.cc +++ b/cloud/aws/aws_retry.cc @@ -127,6 +127,7 @@ Status AwsCloudOptions::GetClientConfiguration( if (cloud_fs_options.request_timeout_ms != 0) { config->requestTimeoutMs = cloud_fs_options.request_timeout_ms; } + config->endpointOverride = cloud_env_options.aws_options.endpoint_override; config->region = ToAwsString(region); return Status::OK(); diff --git a/include/rocksdb/cloud/cloud_file_system.h b/include/rocksdb/cloud/cloud_file_system.h index 31f8dc84804..3116e201eef 100644 --- a/include/rocksdb/cloud/cloud_file_system.h +++ b/include/rocksdb/cloud/cloud_file_system.h @@ -98,6 +98,13 @@ using S3ClientFactory = std::function( const std::shared_ptr&, const Aws::Client::ClientConfiguration&)>; +// Additional AWS options +class AwsOptions { + public: + // Override the http endpoint used to talk to a service. + std::string endpoint_override; +}; + // Defines parameters required to connect to Kafka class KafkaLogOptions { public: @@ -209,6 +216,9 @@ class CloudFileSystemOptions { // Default: null std::shared_ptr storage_provider; + // AWS additional options + AwsOptions aws_options; + // Access credentials AwsCloudAccessCredentials credentials;