def ex_list_keypairs(self, ssh=False, password=False, key_group=None):
        if (ssh and password):
            raise LibcloudError('You can only supply ssh or password. To \
get all keys call with no arguments')
        if ssh:
            result = self.connection.request('/key/sshrsa/').object
        elif password:
            result = self.connection.request('/key/password/').object
        else:
            result = self.connection.request('/key/').object
        keys = [self._to_key(value) for value in result.get('data', [])]

        if key_group:
            keys = [key for key in keys if
                    key.key_group == key_group]
        return keys
If the underlying function returns a non-Deferred, the wrapper returns
dataset/ETHPy150Open apache/libcloud/libcloud/compute/drivers/nephoscale.py/NephoscaleNodeDriver.ex_list_keypairs--crossover with--dataset/ETHPy150Open itamarst/crochet/crochet/tests/test_api.py/WaitTestsMixin.test_regular_result