diff options
Diffstat (limited to 'pyenc/model.py')
-rw-r--r-- | pyenc/model.py | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/pyenc/model.py b/pyenc/model.py index 0382e96..0a240d9 100644 --- a/pyenc/model.py +++ b/pyenc/model.py @@ -1,6 +1,4 @@ -""" -Database model for application -""" +"""Database model for application.""" from flask_sqlalchemy import SQLAlchemy import requests @@ -21,6 +19,15 @@ host_classes = db.Table( class Host(db.Model): + """ + Single computer. + + A computer has a name (machine.example.com.), an environment + (production) and a list of puppet classes. + + (TODO and direct values?) + """ + __tablename__ = 'host' id = db.Column(db.Integer, primary_key=True) fqdn = db.Column(db.Text, nullable=False) @@ -37,16 +44,33 @@ class Host(db.Model): class PuppetFile(db.Model): + """ + Puppet source code file. + + Keeps track of known puppet files. Each file contains 0 to many + puppet classes. + """ + __tablename__ = 'puppet_file' id = db.Column(db.Integer, primary_key=True) + # Where we found the file path = db.Column(db.Text, nullable=False) + # Output of 'puppet parser dump --format json <filename>' json = db.Column(db.Text, nullable=False) + # When we last read data into json last_parse = db.Column(db.Float) # classes = db.relationship('PuppetClass', back_populates='comes_from') classes = db.relationship('PuppetClass', backref='comes_from') class PuppetClass(db.Model): + """ + A puppet class. + + The class itself only keeps track of its name here, and mostyl + ensures that only existing classes can be added to a given node/host. + """ + __tablename__ = 'puppet_class' id = db.Column(db.Integer, primary_key=True) class_name = db.Column(db.Text, nullable=False) |