models.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. from public import db
  2. from libs.model import ModelMixin
  3. import datetime
  4. class Host(db.Model, ModelMixin):
  5. __tablename__ = 'assets_hosts'
  6. id = db.Column(db.Integer, primary_key=True)
  7. name = db.Column(db.String(50))
  8. desc = db.Column(db.String(255))
  9. type = db.Column(db.String(50))
  10. zone = db.Column(db.String(50))
  11. docker_uri = db.Column(db.String(255))
  12. ssh_ip = db.Column(db.String(32))
  13. ssh_port = db.Column(db.Integer)
  14. def __repr__(self):
  15. return '<Host %r>' % self.name
  16. class HostExtend(db.Model, ModelMixin):
  17. __tablename__ = 'assets_hosts_extend'
  18. id = db.Column(db.Integer, primary_key=True)
  19. host_id = db.Column(db.Integer, db.ForeignKey('assets_hosts.id'))
  20. operate_system = db.Column(db.String(64))
  21. memory = db.Column(db.SmallInteger)
  22. cpu = db.Column(db.SmallInteger)
  23. disk = db.Column(db.SmallInteger)
  24. outer_ip = db.Column(db.String(128))
  25. inner_ip = db.Column(db.String(128))
  26. hosts = db.relationship(Host, backref=db.backref('host'))
  27. class HostExecTemplate(db.Model, ModelMixin):
  28. __tablename__ = 'assets_hosts_exec_template'
  29. id = db.Column(db.Integer, primary_key=True)
  30. tpl_name = db.Column(db.String(50))
  31. tpl_desc = db.Column(db.String(255))
  32. tpl_type = db.Column(db.String(50))
  33. tpl_content = db.Column(db.Text())
  34. def __repr__(self):
  35. return '<HostExecTemplate %r>' % self.tpl_name