Source code for jnpr.healthbot.modules.database

from jnpr.healthbot.swagger.models.table_schema import TableSchema
from influxdb import InfluxDBClient
import logging
logger = logging.getLogger(__file__)


[docs]class Database(InfluxDBClient):
[docs] def __init__(self, hbot): """ :param object hbot: :class:`jnpr.healthbot.HealthBotClient` client instance Example: :: hb.database.query("show databases") hb.database.query('select * from "protocol-eventd-host/check-host-traffic/packet-loss" limit 10', database='Core:vmx') """ self.hbot = hbot self.url = hbot.url InfluxDBClient.__init__(self, hbot.server, 8086)
@property def api(self): return self.hbot.hbot_session
[docs] def get_table(self): """ Get list of tables :return: list of `TableSchema <jnpr_healthbot_swagger/TableSchema.html>`_ """ get_tabel_url = self.hbot.urlfor.table() response = self.api.get(get_tabel_url) if response.status_code != 200: logger.error(response.text) response.raise_for_status() return self.hbot._create_schema(response, TableSchema)