boto3-refresh-session 0.1.16__py3-none-any.whl → 0.1.18__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- boto3_refresh_session/session.py +18 -7
- {boto3_refresh_session-0.1.16.dist-info → boto3_refresh_session-0.1.18.dist-info}/METADATA +1 -1
- boto3_refresh_session-0.1.18.dist-info/RECORD +6 -0
- boto3_refresh_session-0.1.16.dist-info/RECORD +0 -6
- {boto3_refresh_session-0.1.16.dist-info → boto3_refresh_session-0.1.18.dist-info}/LICENSE +0 -0
- {boto3_refresh_session-0.1.16.dist-info → boto3_refresh_session-0.1.18.dist-info}/WHEEL +0 -0
boto3_refresh_session/session.py
CHANGED
@@ -14,7 +14,7 @@ object.
|
|
14
14
|
"""
|
15
15
|
__all__ = ["AutoRefreshableSession"]
|
16
16
|
|
17
|
-
from logging import getLogger
|
17
|
+
from logging import INFO, basicConfig, getLogger
|
18
18
|
from typing import Type
|
19
19
|
|
20
20
|
from attrs import define, field
|
@@ -26,8 +26,13 @@ from botocore.credentials import (
|
|
26
26
|
)
|
27
27
|
from botocore.session import get_session
|
28
28
|
|
29
|
+
# configuring logging
|
30
|
+
basicConfig(
|
31
|
+
level=INFO, format="%(asctime)s - %(name)s - %(levelname)s - %(message)s"
|
32
|
+
)
|
33
|
+
|
34
|
+
# creating logger
|
29
35
|
logger = getLogger(__name__)
|
30
|
-
has_logged = False
|
31
36
|
|
32
37
|
|
33
38
|
@define
|
@@ -99,10 +104,13 @@ class AutoRefreshableSession:
|
|
99
104
|
default={}, validator=optional(instance_of(dict))
|
100
105
|
)
|
101
106
|
session: Type[Session] = field(init=False)
|
107
|
+
_creds_already_fetched: int = field(init=False, default=0)
|
102
108
|
|
103
109
|
def __attrs_post_init__(self):
|
104
110
|
__session = get_session()
|
105
111
|
|
112
|
+
logger.info("Fetching temporary AWS credentials.")
|
113
|
+
|
106
114
|
if not self.defer_refresh:
|
107
115
|
__credentials = RefreshableCredentials.create_from_metadata(
|
108
116
|
metadata=self._get_credentials(),
|
@@ -128,11 +136,14 @@ class AutoRefreshableSession:
|
|
128
136
|
AWS temporary credentials.
|
129
137
|
"""
|
130
138
|
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
139
|
+
# being careful not to duplicate logs
|
140
|
+
msg = "Refreshing temporary AWS credentials"
|
141
|
+
if self.defer_refresh and self._creds_already_fetched:
|
142
|
+
logger.info(msg)
|
143
|
+
elif not self.defer_refresh and self._creds_already_fetched > 1:
|
144
|
+
logger.info(msg)
|
145
|
+
else:
|
146
|
+
self._creds_already_fetched += 1
|
136
147
|
|
137
148
|
__sts_client = client(
|
138
149
|
service_name="sts", region_name=self.region, **self.client_kwargs
|
@@ -0,0 +1,6 @@
|
|
1
|
+
boto3_refresh_session/__init__.py,sha256=OMY8el4qROyEvo0vr1Kv8rtFU7g3xnjHuBss54XRTEA,135
|
2
|
+
boto3_refresh_session/session.py,sha256=NIQLVWoXvQQIyfBBi_MHE351RIZdGUoSO3xHK1V01Rw,5569
|
3
|
+
boto3_refresh_session-0.1.18.dist-info/LICENSE,sha256=I3ZYTXAjbIly6bm6J-TvFTuuHwTKws4h89QaY5c5HiY,1067
|
4
|
+
boto3_refresh_session-0.1.18.dist-info/METADATA,sha256=_91E3MIBGwiklTHQKpKKoVrSE0lLq0JNhRJIytuB7vc,4463
|
5
|
+
boto3_refresh_session-0.1.18.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
|
6
|
+
boto3_refresh_session-0.1.18.dist-info/RECORD,,
|
@@ -1,6 +0,0 @@
|
|
1
|
-
boto3_refresh_session/__init__.py,sha256=OMY8el4qROyEvo0vr1Kv8rtFU7g3xnjHuBss54XRTEA,135
|
2
|
-
boto3_refresh_session/session.py,sha256=TbXUZeeDjB4KAte-AToCwCsBcOB0WgLXk9KN87aafAg,5133
|
3
|
-
boto3_refresh_session-0.1.16.dist-info/LICENSE,sha256=I3ZYTXAjbIly6bm6J-TvFTuuHwTKws4h89QaY5c5HiY,1067
|
4
|
-
boto3_refresh_session-0.1.16.dist-info/METADATA,sha256=MXK6MLL10Qu9SKDYEcs8MdjJ97ANH9rbBmfXW15-ogQ,4463
|
5
|
-
boto3_refresh_session-0.1.16.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
|
6
|
-
boto3_refresh_session-0.1.16.dist-info/RECORD,,
|
File without changes
|
File without changes
|