Struct aws_sdk_s3::config::Builder
source · pub struct Builder { /* private fields */ }
Expand description
Builder for creating a Config
.
Implementations§
source§impl Builder
impl Builder
sourcepub fn force_path_style(self, force_path_style: impl Into<bool>) -> Self
pub fn force_path_style(self, force_path_style: impl Into<bool>) -> Self
Forces this client to use path-style addressing for buckets.
sourcepub fn set_force_path_style(
&mut self,
force_path_style: Option<bool>
) -> &mut Self
pub fn set_force_path_style( &mut self, force_path_style: Option<bool> ) -> &mut Self
Forces this client to use path-style addressing for buckets.
sourcepub fn use_arn_region(self, use_arn_region: impl Into<bool>) -> Self
pub fn use_arn_region(self, use_arn_region: impl Into<bool>) -> Self
Enables this client to use an ARN’s region when constructing an endpoint instead of the client’s configured region.
sourcepub fn set_use_arn_region(&mut self, use_arn_region: Option<bool>) -> &mut Self
pub fn set_use_arn_region(&mut self, use_arn_region: Option<bool>) -> &mut Self
Enables this client to use an ARN’s region when constructing an endpoint instead of the client’s configured region.
sourcepub fn disable_multi_region_access_points(
self,
disable_multi_region_access_points: impl Into<bool>
) -> Self
pub fn disable_multi_region_access_points( self, disable_multi_region_access_points: impl Into<bool> ) -> Self
Disables this client’s usage of Multi-Region Access Points.
sourcepub fn set_disable_multi_region_access_points(
&mut self,
disable_multi_region_access_points: Option<bool>
) -> &mut Self
pub fn set_disable_multi_region_access_points( &mut self, disable_multi_region_access_points: Option<bool> ) -> &mut Self
Disables this client’s usage of Multi-Region Access Points.
sourcepub fn accelerate(self, accelerate: impl Into<bool>) -> Self
pub fn accelerate(self, accelerate: impl Into<bool>) -> Self
Enables this client to use S3 Transfer Acceleration endpoints.
sourcepub fn set_accelerate(&mut self, accelerate: Option<bool>) -> &mut Self
pub fn set_accelerate(&mut self, accelerate: Option<bool>) -> &mut Self
Enables this client to use S3 Transfer Acceleration endpoints.
sourcepub fn endpoint_resolver(
self,
endpoint_resolver: impl ResolveEndpoint<Params> + 'static
) -> Self
pub fn endpoint_resolver( self, endpoint_resolver: impl ResolveEndpoint<Params> + 'static ) -> Self
Sets the endpoint resolver to use when making requests.
When unset, the client will used a generated endpoint resolver based on the endpoint resolution
rules for aws_sdk_s3
.
Examples
use aws_smithy_http::endpoint;
use aws_sdk_s3::endpoint::{Params as EndpointParams, DefaultResolver};
/// Endpoint resolver which adds a prefix to the generated endpoint
struct PrefixResolver {
base_resolver: DefaultResolver,
prefix: String
}
impl endpoint::ResolveEndpoint<EndpointParams> for PrefixResolver {
fn resolve_endpoint(&self, params: &EndpointParams) -> endpoint::Result {
self.base_resolver
.resolve_endpoint(params)
.map(|ep|{
let url = ep.url().to_string();
ep.into_builder().url(format!("{}.{}", &self.prefix, url)).build()
})
}
}
let prefix_resolver = PrefixResolver {
base_resolver: DefaultResolver::new(),
prefix: "subdomain".to_string()
};
let config = aws_sdk_s3::Config::builder().endpoint_resolver(prefix_resolver);
sourcepub fn set_endpoint_resolver(
&mut self,
endpoint_resolver: Option<Arc<dyn ResolveEndpoint<Params>>>
) -> &mut Self
pub fn set_endpoint_resolver( &mut self, endpoint_resolver: Option<Arc<dyn ResolveEndpoint<Params>>> ) -> &mut Self
Sets the endpoint resolver to use when making requests.
When unset, the client will used a generated endpoint resolver based on the endpoint resolution
rules for aws_sdk_s3
.
sourcepub fn retry_config(self, retry_config: RetryConfig) -> Self
pub fn retry_config(self, retry_config: RetryConfig) -> Self
Set the retry_config for the builder
Examples
use aws_sdk_s3::config::Config;
use aws_sdk_s3::config::retry::RetryConfig;
let retry_config = RetryConfig::standard().with_max_attempts(5);
let config = Config::builder().retry_config(retry_config).build();
sourcepub fn set_retry_config(
&mut self,
retry_config: Option<RetryConfig>
) -> &mut Self
pub fn set_retry_config( &mut self, retry_config: Option<RetryConfig> ) -> &mut Self
Set the retry_config for the builder
Examples
use aws_sdk_s3::config::{Builder, Config};
use aws_sdk_s3::config::retry::RetryConfig;
fn disable_retries(builder: &mut Builder) {
let retry_config = RetryConfig::standard().with_max_attempts(1);
builder.set_retry_config(Some(retry_config));
}
let mut builder = Config::builder();
disable_retries(&mut builder);
let config = builder.build();
sourcepub fn sleep_impl(self, sleep_impl: Arc<dyn AsyncSleep>) -> Self
pub fn sleep_impl(self, sleep_impl: Arc<dyn AsyncSleep>) -> Self
Set the sleep_impl for the builder
Examples
use aws_sdk_s3::config::{AsyncSleep, Sleep, Config};
#[derive(Debug)]
pub struct ForeverSleep;
impl AsyncSleep for ForeverSleep {
fn sleep(&self, duration: std::time::Duration) -> Sleep {
Sleep::new(std::future::pending())
}
}
let sleep_impl = std::sync::Arc::new(ForeverSleep);
let config = Config::builder().sleep_impl(sleep_impl).build();
sourcepub fn set_sleep_impl(
&mut self,
sleep_impl: Option<Arc<dyn AsyncSleep>>
) -> &mut Self
pub fn set_sleep_impl( &mut self, sleep_impl: Option<Arc<dyn AsyncSleep>> ) -> &mut Self
Set the sleep_impl for the builder
Examples
use aws_sdk_s3::config::{AsyncSleep, Sleep, Builder, Config};
#[derive(Debug)]
pub struct ForeverSleep;
impl AsyncSleep for ForeverSleep {
fn sleep(&self, duration: std::time::Duration) -> Sleep {
Sleep::new(std::future::pending())
}
}
fn set_never_ending_sleep_impl(builder: &mut Builder) {
let sleep_impl = std::sync::Arc::new(ForeverSleep);
builder.set_sleep_impl(Some(sleep_impl));
}
let mut builder = Config::builder();
set_never_ending_sleep_impl(&mut builder);
let config = builder.build();
sourcepub fn timeout_config(self, timeout_config: TimeoutConfig) -> Self
pub fn timeout_config(self, timeout_config: TimeoutConfig) -> Self
Set the timeout_config for the builder
Examples
use aws_sdk_s3::config::Config;
use aws_sdk_s3::config::timeout::TimeoutConfig;
let timeout_config = TimeoutConfig::builder()
.operation_attempt_timeout(Duration::from_secs(1))
.build();
let config = Config::builder().timeout_config(timeout_config).build();
sourcepub fn set_timeout_config(
&mut self,
timeout_config: Option<TimeoutConfig>
) -> &mut Self
pub fn set_timeout_config( &mut self, timeout_config: Option<TimeoutConfig> ) -> &mut Self
Set the timeout_config for the builder
Examples
use aws_sdk_s3::config::{Builder, Config};
use aws_sdk_s3::config::timeout::TimeoutConfig;
fn set_request_timeout(builder: &mut Builder) {
let timeout_config = TimeoutConfig::builder()
.operation_attempt_timeout(Duration::from_secs(1))
.build();
builder.set_timeout_config(Some(timeout_config));
}
let mut builder = Config::builder();
set_request_timeout(&mut builder);
let config = builder.build();
sourcepub fn app_name(self, app_name: AppName) -> Self
pub fn app_name(self, app_name: AppName) -> Self
Sets the name of the app that is using the client.
This optional name is used to identify the application in the user agent that gets sent along with requests.
sourcepub fn set_app_name(&mut self, app_name: Option<AppName>) -> &mut Self
pub fn set_app_name(&mut self, app_name: Option<AppName>) -> &mut Self
Sets the name of the app that is using the client.
This optional name is used to identify the application in the user agent that gets sent along with requests.
sourcepub fn endpoint_url(self, endpoint_url: impl Into<String>) -> Self
pub fn endpoint_url(self, endpoint_url: impl Into<String>) -> Self
Sets the endpoint url used to communicate with this service
Note: this is used in combination with other endpoint rules, e.g. an API that applies a host-label prefix
will be prefixed onto this URL. To fully override the endpoint resolver, use
Builder::endpoint_resolver
.
sourcepub fn set_endpoint_url(&mut self, endpoint_url: Option<String>) -> &mut Self
pub fn set_endpoint_url(&mut self, endpoint_url: Option<String>) -> &mut Self
Sets the endpoint url used to communicate with this service
Note: this is used in combination with other endpoint rules, e.g. an API that applies a host-label prefix
will be prefixed onto this URL. To fully override the endpoint resolver, use
Builder::endpoint_resolver
.
sourcepub fn use_dual_stack(self, use_dual_stack: impl Into<bool>) -> Self
pub fn use_dual_stack(self, use_dual_stack: impl Into<bool>) -> Self
When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.
sourcepub fn set_use_dual_stack(&mut self, use_dual_stack: Option<bool>) -> &mut Self
pub fn set_use_dual_stack(&mut self, use_dual_stack: Option<bool>) -> &mut Self
When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.
sourcepub fn use_fips(self, use_fips: impl Into<bool>) -> Self
pub fn use_fips(self, use_fips: impl Into<bool>) -> Self
When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.
sourcepub fn set_use_fips(&mut self, use_fips: Option<bool>) -> &mut Self
pub fn set_use_fips(&mut self, use_fips: Option<bool>) -> &mut Self
When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.
sourcepub fn http_connector(self, http_connector: impl Into<HttpConnector>) -> Self
pub fn http_connector(self, http_connector: impl Into<HttpConnector>) -> Self
Sets the HTTP connector to use when making requests.
Examples
use std::time::Duration;
use aws_smithy_client::{Client, hyper_ext};
use aws_smithy_client::erase::DynConnector;
use aws_smithy_client::http_connector::ConnectorSettings;
use aws_sdk_s3::config::Config;
let https_connector = hyper_rustls::HttpsConnectorBuilder::new()
.with_webpki_roots()
.https_only()
.enable_http1()
.enable_http2()
.build();
let smithy_connector = hyper_ext::Adapter::builder()
// Optionally set things like timeouts as well
.connector_settings(
ConnectorSettings::builder()
.connect_timeout(Duration::from_secs(5))
.build()
)
.build(https_connector);
sourcepub fn set_http_connector(
&mut self,
http_connector: Option<impl Into<HttpConnector>>
) -> &mut Self
pub fn set_http_connector( &mut self, http_connector: Option<impl Into<HttpConnector>> ) -> &mut Self
Sets the HTTP connector to use when making requests.
Examples
use std::time::Duration;
use aws_smithy_client::hyper_ext;
use aws_smithy_client::http_connector::ConnectorSettings;
use crate::sdk_config::{SdkConfig, Builder};
use aws_sdk_s3::config::{Builder, Config};
fn override_http_connector(builder: &mut Builder) {
let https_connector = hyper_rustls::HttpsConnectorBuilder::new()
.with_webpki_roots()
.https_only()
.enable_http1()
.enable_http2()
.build();
let smithy_connector = hyper_ext::Adapter::builder()
// Optionally set things like timeouts as well
.connector_settings(
ConnectorSettings::builder()
.connect_timeout(Duration::from_secs(5))
.build()
)
.build(https_connector);
builder.set_http_connector(Some(smithy_connector));
}
let mut builder = aws_sdk_s3::Config::builder();
override_http_connector(&mut builder);
let config = builder.build();
sourcepub fn region(self, region: impl Into<Option<Region>>) -> Self
pub fn region(self, region: impl Into<Option<Region>>) -> Self
Sets the AWS region to use when making requests.
Examples
use aws_types::region::Region;
use aws_sdk_s3::config::{Builder, Config};
let config = aws_sdk_s3::Config::builder()
.region(Region::new("us-east-1"))
.build();
sourcepub fn credentials_provider(
self,
credentials_provider: impl ProvideCredentials + 'static
) -> Self
pub fn credentials_provider( self, credentials_provider: impl ProvideCredentials + 'static ) -> Self
Sets the credentials provider for this service
sourcepub fn set_credentials_provider(
&mut self,
credentials_provider: Option<SharedCredentialsProvider>
) -> &mut Self
pub fn set_credentials_provider( &mut self, credentials_provider: Option<SharedCredentialsProvider> ) -> &mut Self
Sets the credentials provider for this service
sourcepub fn credentials_cache(self, credentials_cache: CredentialsCache) -> Self
pub fn credentials_cache(self, credentials_cache: CredentialsCache) -> Self
Sets the credentials cache for this service
sourcepub fn set_credentials_cache(
&mut self,
credentials_cache: Option<CredentialsCache>
) -> &mut Self
pub fn set_credentials_cache( &mut self, credentials_cache: Option<CredentialsCache> ) -> &mut Self
Sets the credentials cache for this service
sourcepub fn set_test_defaults(&mut self) -> &mut Self
pub fn set_test_defaults(&mut self) -> &mut Self
Apply test defaults to the builder
sourcepub fn with_test_defaults(self) -> Self
pub fn with_test_defaults(self) -> Self
Apply test defaults to the builder