in awscrt/s3.py [0:0]
def __init__(
self,
*,
bootstrap,
region,
tls_mode=None,
credential_provider=None,
tls_connection_options=None,
part_size=None,
throughput_target_gbps=None):
assert isinstance(bootstrap, ClientBootstrap)
assert isinstance(region, str)
assert isinstance(credential_provider, AwsCredentialsProvider) or credential_provider is None
assert isinstance(tls_connection_options, TlsConnectionOptions) or tls_connection_options is None
assert isinstance(part_size, int) or part_size is None
assert isinstance(
throughput_target_gbps,
int) or isinstance(
throughput_target_gbps,
float) or throughput_target_gbps is None
super().__init__()
shutdown_event = threading.Event()
def on_shutdown():
shutdown_event.set()
self._region = region
self.shutdown_event = shutdown_event
s3_client_core = _S3ClientCore(bootstrap, credential_provider, tls_connection_options)
# C layer uses 0 to indicate defaults
if tls_mode is None:
tls_mode = 0
if part_size is None:
part_size = 0
if throughput_target_gbps is None:
throughput_target_gbps = 0
self._binding = _awscrt.s3_client_new(
bootstrap,
credential_provider,
tls_connection_options,
on_shutdown,
region,
tls_mode,
part_size,
throughput_target_gbps,
s3_client_core)