in modular_sdk/services/aws_creds_provider.py [0:0]
def __get__(self, instance, owner) -> BaseClient:
"""
We cannot use sts.assure_modular_credentials_valid() and
BaseRoleAccessModel's logic here as well (I mean creds from envs)
because here we cannot catch the moment when creds were refreshed by
models, for instance. Think about it
"""
_modular = Modular()
sts, env = _modular.sts_service(), _modular.environment_service()
roles = env.modular_assume_role_arn()
if roles and self._expired():
_LOG.info('Boto3 session inside ModularAssumeRoleClient descriptor '
'has expired. Re-assuming role')
payloads = list(sts.assume_roles_default_payloads(roles))
creds = sts.assume_roles_chain(payloads)
self._update_session(**creds)
self._client = None
if not self._client:
r = self._region_name or env.modular_aws_region() or env.aws_region()
_LOG.info(f'Initializing {self._service_name} client within '
f'ModularAssumeRoleClient descriptor for region {r}')
self._client = self.get_session().client(
service_name=self._service_name,
region_name=r,
)
return self._client