Esempio n. 1
0
class Users(db.Model):
    id = db.Column('user_id', db.Integer, primary_key=True)
    username = db.Column('username', db.String(20), unique=True, index=True)
    password = db.Column('password', db.String(40))
    email = db.Column('email', db.String(50), unique=True, index=True)

    def __init__(self, username, password, email):
        self.username = username
        self.password = password
        self.email = email

    def is_authenticated(self):
        return True

    def is_active(self):
        return True

    def is_anonymous(self):
        return False

    def get_id(self):
        return unicode(self.id)

    def __repr__(self):
        return '<User %r>' % (self.username)
Esempio n. 2
0
class Keys(db.Model):
    """
    Database Model for Keys

    models.Keys(aws='45uy34r78y8347tr38try', digiocean='jweklfjwer23ru2oejfowif02983r', ssh='weruiwehiurh7823rhywehfh2389r', client_id='1')
    """
    id = db.Column(db.Integer, primary_key=True)
    client_id = db.Column(db.Integer, db.ForeignKey('clients.id'))
    digiocean = db.Column(db.String(64))
    aws = db.Column(db.String(64))
    ssh = db.Column(db.String(500))

    def __repr__(self):
        return '<Client: %r>' % (self.client_id)
Esempio n. 3
0
class Jobs(db.Model):
    """
    Database model to hold running jobs from Redis
    You'd think redis would keep track of this...
    https://github.com/nvie/rq/issues/476
    You can't list jobs that are done / running
    You can however, get status information if you know the key

    I could of totally just handled all the status stuff here instead of in the job metadata. hmm
    """
    client_id = db.Column(db.Integer,
                          db.ForeignKey('clients.id'),
                          primary_key=True)
    role = db.Column(db.String(16))
    job_key = db.Column(db.String(128))

    def __repr__(self):
        return '<Type: %r>' % (self.type)
Esempio n. 4
0
class Hypervisors(db.Model):
    """
    Database Model for Hypervisorss

    models.Hypervisors(location="RACK14-2", IP="192.168.1.15", status="1")

    status codes:   0 - offline
                    1 - online
                    2 - maintenance
                    3 - oops
    """
    id = db.Column(db.Integer, primary_key=True)
    location = db.Column(db.String(30))
    IP = db.Column(db.String(20))
    status = db.Column(db.Integer)

    def __repr__(self):
        return '<Type %r>' % (self.type)
Esempio n. 5
0
class Clients(db.Model):
    """
    Database Model for Clients

    models.Clients(name="testClient", date_added=datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), phone="555-555-555", email="*****@*****.**", size="medium"))
    """
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(64), index=True, unique=True)
    date_added = db.Column(db.String(20))
    phone = db.Column(db.String(20))
    email = db.Column(db.String(30))
    size = db.Column(db.String(15))
    hyperv_id = db.Column(db.Integer, db.ForeignKey('hypervisors.id'))
    nodes = db.relationship('Nodes', backref='client', lazy='dynamic')
    keys = db.relationship('Keys', backref='client', lazy='dynamic')
    active = db.Column(db.Boolean, unique=False, default=True)
    date_rm = db.Column(db.String(20))

    def __repr__(self):
        return '<Name %r>' % (self.name)
Esempio n. 6
0
class Nodes(db.Model):
    """
    Database Model for Nodes

    models.Nodes(client_id=1, type="worker", date_added=datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), location="proxmox", IP="10.5.0.103", net="vmbr20", vid="200")
    models.Nodes(client_id=models.Client.get(1)
    """
    id = db.Column(db.Integer, primary_key=True)
    client_id = db.Column(db.Integer, db.ForeignKey('clients.id'))
    type = db.Column(db.String(20))
    date_added = db.Column(db.String(20))
    location = db.Column(db.String(30))
    IP = db.Column(db.String(20))
    net = db.Column(db.String(10))
    vid = db.Column(db.Integer)
    active = db.Column(db.Boolean, unique=False, default=True)
    date_rm = db.Column(db.String(20))

    def __repr__(self):
        return '<Type %r>' % (self.type)