boto3-refresh-session 0.1.16__tar.gz → 0.1.18__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {boto3_refresh_session-0.1.16 → boto3_refresh_session-0.1.18}/PKG-INFO +1 -1
- {boto3_refresh_session-0.1.16 → boto3_refresh_session-0.1.18}/boto3_refresh_session/session.py +18 -7
- {boto3_refresh_session-0.1.16 → boto3_refresh_session-0.1.18}/pyproject.toml +1 -1
- {boto3_refresh_session-0.1.16 → boto3_refresh_session-0.1.18}/LICENSE +0 -0
- {boto3_refresh_session-0.1.16 → boto3_refresh_session-0.1.18}/README.md +0 -0
- {boto3_refresh_session-0.1.16 → boto3_refresh_session-0.1.18}/boto3_refresh_session/__init__.py +0 -0
{boto3_refresh_session-0.1.16 → boto3_refresh_session-0.1.18}/boto3_refresh_session/session.py
RENAMED
@@ -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
|
File without changes
|
File without changes
|
{boto3_refresh_session-0.1.16 → boto3_refresh_session-0.1.18}/boto3_refresh_session/__init__.py
RENAMED
File without changes
|