def get_iam_role_credentials()

in src/cloudwatch/modules/configuration/metadatareader.py [0:0]


    def get_iam_role_credentials(self, role_name):
        """ Get the IAMRoleCredentials object with values from IAM metadata """
        try:
            iam_data = loads(self._get_metadata(self._IAM_ROLE_CREDENTIAL_REQUEST + role_name))
            if iam_data['AccessKeyId'] and iam_data['SecretAccessKey'] and iam_data['Token']:
                return AWSCredentials(iam_data['AccessKeyId'], iam_data['SecretAccessKey'], iam_data['Token'])
            else:
                raise ValueError("Incomplete credentials retrieved.")
        except Exception as e:
            self._LOGGER.error("Retrieved IAM data is invalid. Cause: " + str(e))
            raise ValueError(e)