boto3-assist 0.33.0__py3-none-any.whl → 0.34.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,6 +7,7 @@ MIT License. See Project Root for the license information.
7
7
  from typing import Optional, List
8
8
 
9
9
  from aws_lambda_powertools import Logger
10
+ from botocore.config import Config
10
11
  from boto3_assist.boto3session import Boto3SessionManager
11
12
  from boto3_assist.environment_services.environment_variables import (
12
13
  EnvironmentVariables,
@@ -33,6 +34,7 @@ class Connection:
33
34
  assume_role_arn: Optional[str] = None,
34
35
  assume_role_chain: Optional[List[str]] = None,
35
36
  assume_role_duration_seconds: Optional[int] = 3600,
37
+ config: Optional[Config] = None,
36
38
  ) -> None:
37
39
  self.__aws_profile = aws_profile
38
40
  self.__aws_region = aws_region
@@ -44,6 +46,7 @@ class Connection:
44
46
  self.__service_name: str | None = service_name
45
47
  self.__assume_role_chain = assume_role_chain
46
48
  self.__assume_role_duration_seconds = assume_role_duration_seconds
49
+ self.__config = config
47
50
  if self.__service_name is None:
48
51
  raise RuntimeError(
49
52
  "Service Name is not available. The service name is required."
@@ -80,6 +83,7 @@ class Connection:
80
83
  assume_role_arn=self.__assume_role_arn,
81
84
  assume_role_chain=self.__assume_role_chain,
82
85
  assume_role_duration_seconds=self.__assume_role_duration_seconds,
86
+ config=self.__config,
83
87
  )
84
88
 
85
89
  tracker.add(service_name=self.service_name)
@@ -4,10 +4,12 @@ Maintainers: Eric Wilson
4
4
  MIT License. See Project Root for the license information.
5
5
  """
6
6
 
7
+ import os
7
8
  from typing import Optional
8
9
  from typing import TYPE_CHECKING
9
10
 
10
11
  from aws_lambda_powertools import Logger
12
+ from botocore.config import Config
11
13
 
12
14
  from boto3_assist.connection import Connection
13
15
 
@@ -32,7 +34,14 @@ class S3Connection(Connection):
32
34
  aws_end_point_url: Optional[str] = None,
33
35
  aws_access_key_id: Optional[str] = None,
34
36
  aws_secret_access_key: Optional[str] = None,
37
+ signature_version: Optional[str] = None,
35
38
  ) -> None:
39
+ # Build S3-specific config if signature_version is specified
40
+ config: Optional[Config] = None
41
+ signature_version = signature_version or os.getenv("AWS_S3_SIGNATURE_VERSION")
42
+ if signature_version:
43
+ config = Config(signature_version=signature_version)
44
+
36
45
  super().__init__(
37
46
  service_name="s3",
38
47
  aws_profile=aws_profile,
@@ -40,6 +49,7 @@ class S3Connection(Connection):
40
49
  aws_access_key_id=aws_access_key_id,
41
50
  aws_secret_access_key=aws_secret_access_key,
42
51
  aws_end_point_url=aws_end_point_url,
52
+ config=config,
43
53
  )
44
54
 
45
55
  self.__client: S3Client | None = None
boto3_assist/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.33.0"
1
+ __version__ = "0.34.0"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: boto3_assist
3
- Version: 0.33.0
3
+ Version: 0.34.0
4
4
  Summary: Additional boto3 wrappers to make your life a little easier
5
5
  Author-email: Eric Wilson <boto3-assist@geekcafe.com>
6
6
  License-File: LICENSE-EXPLAINED.txt
@@ -1,12 +1,12 @@
1
1
  boto3_assist/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  boto3_assist/aws_config.py,sha256=evmk_blj498ugptJa8lxIDJOIursxY6mT4joLfEbrl0,6558
3
3
  boto3_assist/boto3session.py,sha256=p4FKVSX5A-xNHdpRan8pgMoY4iIywNfwriyTfjQ-zTQ,2967
4
- boto3_assist/connection.py,sha256=tqsNGLouAzCiTdtm9JylDTA6IiYqaQQiHmY-kH2bksU,4905
4
+ boto3_assist/connection.py,sha256=dfVq2nAwElmo0ek0PLBEf9HdULOuzKZG0fu7tDDewhA,5046
5
5
  boto3_assist/connection_tracker.py,sha256=UgfR9RlvXf3A4ssMr3gDMpw89ka8mSRvJn4M34SzhbU,4378
6
6
  boto3_assist/http_status_codes.py,sha256=G0zRSWenwavYKETvDF9tNVUXQz3Ae2gXdBETYbjvJe8,3284
7
7
  boto3_assist/role_assumption_mixin.py,sha256=PMUU5yC2FUBjFD1UokVkRY3CPB5zTw85AhIB5BMtbc8,1031
8
8
  boto3_assist/session_setup_mixin.py,sha256=X-JQKyyaWNA8Z8kKgf2V2I5vsiLAH8udLTX_xepnsdQ,3140
9
- boto3_assist/version.py,sha256=6K931DiWIOR94oP_7w9oZPyA0wEqkdgU1lkcLFyRTMU,23
9
+ boto3_assist/version.py,sha256=7wgjZxPxspP87CI4mDkFQuldkKgENXO5FaPiS8EXM88,23
10
10
  boto3_assist/aws_lambda/event_info.py,sha256=OkZ4WzuGaHEu_T8sB188KBgShAJhZpWASALKRGBOhMg,14648
11
11
  boto3_assist/aws_lambda/mock_context.py,sha256=LPjHP-3YSoY6iPl1kPqJDwSVf1zLNTcukUunDtYcbK0,116
12
12
  boto3_assist/cloudwatch/cloudwatch_connection.py,sha256=mnGWaLSQpHh5EeY7Ek_2o9JKHJxOELIYtQVMX1IaHn4,2480
@@ -44,7 +44,7 @@ boto3_assist/errors/custom_exceptions.py,sha256=QAMW49NbClELVnRd00u4NHfzVtRS3Tc1
44
44
  boto3_assist/models/serializable_model.py,sha256=ZMrRJRvJWLY8PBSKK_nPCgYKv1qUxDPEVdcADKbIHsI,266
45
45
  boto3_assist/s3/s3.py,sha256=ESTPXtyDi8mrwHaYNWjQLNGTuTUV4CxKDqw-O_KGzKs,2052
46
46
  boto3_assist/s3/s3_bucket.py,sha256=GfyBbuI5BWz_ybwU_nDqUZiC0wt24PNt49GKZmb05OY,2018
47
- boto3_assist/s3/s3_connection.py,sha256=0JgEDNoDFPQTo5hQe-lS8mWnFBJ2S8MDSl0LPG__lZo,2008
47
+ boto3_assist/s3/s3_connection.py,sha256=iIWtOgTXaj4FQfkyWLI9jnD340XKkKT2UqPAMvItBM4,2421
48
48
  boto3_assist/s3/s3_event_data.py,sha256=Q7QUI1pwkc7g6yZ3IZWMXBIAfsMlPRC7wac2RvrQoA4,4112
49
49
  boto3_assist/s3/s3_object.py,sha256=77jZeIUFpQX3cFYGGwRFBvL-peCe54iILnthm-GFjMc,22518
50
50
  boto3_assist/securityhub/securityhub.py,sha256=ne-J_v4DaCVZm5YgJa_-LKVomLJQo5Gpw6wleAKSsws,5467
@@ -60,8 +60,8 @@ boto3_assist/utilities/logging_utility.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5N
60
60
  boto3_assist/utilities/numbers_utility.py,sha256=wzv9d0uXT_2_ZHHio7LBzibwxPqhGpvbq9HinrVn_4A,10160
61
61
  boto3_assist/utilities/serialization_utility.py,sha256=m5wRZNeWW9VltQPVNziR27OGKO3MDJm6mFmcDHwN-n4,24479
62
62
  boto3_assist/utilities/string_utility.py,sha256=XxUIz19L2LFFTRDAAmdPa8Qhn40u9yO7g4nULFuvg0M,11033
63
- boto3_assist-0.33.0.dist-info/METADATA,sha256=a78hRROMB4f7zUlueukU3MsasKQcytMd72QWC4aB_So,2879
64
- boto3_assist-0.33.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
65
- boto3_assist-0.33.0.dist-info/licenses/LICENSE-EXPLAINED.txt,sha256=WFREvTpfTjPjDHpOLADxJpCKpIla3Ht87RUUGii4ODU,606
66
- boto3_assist-0.33.0.dist-info/licenses/LICENSE.txt,sha256=PXDhFWS5L5aOTkVhNvoitHKbAkgxqMI2uUPQyrnXGiI,1105
67
- boto3_assist-0.33.0.dist-info/RECORD,,
63
+ boto3_assist-0.34.0.dist-info/METADATA,sha256=WmaM64BJuUpqheneWjxhoar6ZDEsncrbYsi6kujI4xo,2879
64
+ boto3_assist-0.34.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
65
+ boto3_assist-0.34.0.dist-info/licenses/LICENSE-EXPLAINED.txt,sha256=WFREvTpfTjPjDHpOLADxJpCKpIla3Ht87RUUGii4ODU,606
66
+ boto3_assist-0.34.0.dist-info/licenses/LICENSE.txt,sha256=PXDhFWS5L5aOTkVhNvoitHKbAkgxqMI2uUPQyrnXGiI,1105
67
+ boto3_assist-0.34.0.dist-info/RECORD,,