(self, data)
| 631 | return parse(time_str) |
| 632 | |
| 633 | def _set_from_data(self, data): |
| 634 | expected_keys = ['access_key', 'secret_key', 'token', 'expiry_time'] |
| 635 | if not data: |
| 636 | missing_keys = expected_keys |
| 637 | else: |
| 638 | missing_keys = [k for k in expected_keys if k not in data] |
| 639 | |
| 640 | if missing_keys: |
| 641 | message = "Credential refresh failed, response did not contain: %s" |
| 642 | raise CredentialRetrievalError( |
| 643 | provider=self.method, |
| 644 | error_msg=message % ', '.join(missing_keys), |
| 645 | ) |
| 646 | |
| 647 | self.access_key = data['access_key'] |
| 648 | self.secret_key = data['secret_key'] |
| 649 | self.token = data['token'] |
| 650 | self._expiry_time = parse(data['expiry_time']) |
| 651 | self.account_id = data.get('account_id') |
| 652 | logger.debug( |
| 653 | "Retrieved credentials will expire at: %s", self._expiry_time |
| 654 | ) |
| 655 | self._normalize() |
| 656 | |
| 657 | def get_frozen_credentials(self): |
| 658 | """Return immutable credentials. |
no test coverage detected