Ejemplo n.º 1
0
class Tenant(db.Model):
    """HCP Tenant"""
    id = id_column()
    name = db.Column(db.String(256), unique=True, nullable=False)
    namespaces = db.relationship("Namespace", backref="tenant")
    allocation_id = db.Column(None, db.ForeignKey("allocation.id"))

    def json(self):
        """JSON"""
        return to_dict(self, ["name", "allocation_id"])
Ejemplo n.º 2
0
class Filesystem(db.Model):
    """Filesystem"""
    id = id_column()
    name = db.Column(db.String(256), unique=True, nullable=False)
    snapshots = db.relationship("Snapshot", backref="filesystem")
    host_id = db.Column(None, db.ForeignKey("host.id"), nullable=False)

    def json(self):
        """JSON"""
        return to_dict(self, ["name", "host_id"])
Ejemplo n.º 3
0
class EntityRelationship(db.Model):
    """Entity Relationship"""
    id = id_column()
    valid1_id = db.Column(None, db.ForeignKey("entity_type.id"))
    valid2_id = db.Column(None, db.ForeignKey("entity_type.id"))
    name = db.Column(db.String(64), unique=True, nullable=False)

    def json(self):
        """JSON"""
        return to_dict(self, ["name", "valid1_id", "valid2_id"])
Ejemplo n.º 4
0
class VolumeAttachment(db.Model):
    id = id_column()
    instance = db.Column(db.String(64), nullable=False)
    volume_id = db.Column(None, db.ForeignKey("volume.id"), primary_key=True)
    snapshot_id = db.Column(None,
                            db.ForeignKey("snapshot.id"),
                            primary_key=True)

    def json(self):
        """JSON"""
        return to_dict(self, ["instance", "volume_id", "snapshot_id"])
Ejemplo n.º 5
0
class EntityStringAttribute(db.Model):
    """Entity Attribute"""
    id = id_column()
    name = db.Column(db.String(64), unique=True, nullable=False)
    type_id = db.Column(None, db.ForeignKey("entity_type.id"), nullable=False)
    mappings = db.relationship("EntityStringAttributeMapping",
                               backref="attribute")

    def json(self):
        """JSON"""
        return to_dict(self, ["name", "type_id"])
Ejemplo n.º 6
0
class VolumeSnapshot(db.Model):
    id = id_column()
    openstack_id = db.Column(db.String(64), nullable=False, unique=True)
    size = db.Column(db.Integer, nullable=False)
    name = db.Column(db.String(128))
    description = db.Column(db.String(512))
    source = db.Column(db.String(64), nullable=False)

    def json(self):
        """JSON"""
        return to_dict(self, ["openstack_id", "name", "size", "description",
                              "source"])
Ejemplo n.º 7
0
class Filesystem(db.Model):
    """Filesystem"""
    id = id_column()
    name = db.Column(db.String(256), nullable=False)
    usage = db.relationship("Usage", backref="filesystem")
    host_id = db.Column(None, db.ForeignKey("host.id"), nullable=False)
    __table_args__ = (UniqueConstraint("host_id", "name"), )

    def json(self):
        """Jsonify"""

        return {"id": self.id, "name": self.name, "host": self.host_id}
Ejemplo n.º 8
0
class EntityNameMapping(db.Model):
    """Entity-Name Mapping"""
    id = id_column()
    entity_id = db.Column(None, db.ForeignKey("entity.id"), nullable=False)
    name_id = db.Column(None, db.ForeignKey("entity_name.id"), nullable=False)
    start_time = db.Column(db.Integer)
    end_time = db.Column(db.Integer)

    def json(self):
        """JSON"""
        return to_dict(self,
                       ["entity_id", "name_id", "start_time", "end_time"])
Ejemplo n.º 9
0
class VirtualVolume(db.Model):
    """Virtual Volume"""
    id = id_column()
    name = db.Column(db.String(256), unique=True, nullable=False)
    usage = db.relationship("VirtualVolumeUsage", backref="virtual_volume")
    filesystem_id = db.Column(None,
                              db.ForeignKey("filesystem.id"),
                              index=True,
                              nullable=False)

    def json(self):
        """JSON"""
        return to_dict(self, ["name", "filesystem_id"])
Ejemplo n.º 10
0
class Namespace(db.Model):
    """HCP Namespace"""
    id = id_column()
    name = db.Column(db.String(256), nullable=False)
    usage = db.relationship("Usage", backref="namespace")
    tenant_id = db.Column(None,
                          db.ForeignKey("tenant.id"),
                          index=True,
                          nullable=False)
    allocation_id = db.Column(None, db.ForeignKey("allocation.id"))

    def json(self):
        """JSON"""
        return to_dict(self, ["name", "tenant_id", "allocation_id"])
Ejemplo n.º 11
0
class Organisation(db.Model):
    """Organisation Data Model"""
    id = id_column()
    insightly_id = db.Column(db.Integer, index=True, nullable=False)
    name = db.Column(db.String(256), index=True)
    membership = db.relationship("Membership", backref="organisation")

    def json(self):
        """Jsonify"""
        return {
            "id": self.id,
            "insightly_id": self.insightly_id,
            "name": self.name
        }
Ejemplo n.º 12
0
class Job(db.Model):
    """HPC Job"""
    id = id_column()
    job_id = db.Column(db.String(64), unique=True, nullable=False)
    owner_id = db.Column(None, db.ForeignKey("owner.id"))
    queue_id = db.Column(None, db.ForeignKey("queue.id"))
    name = db.Column(db.String(256))
    start = db.Column(db.Integer)
    end = db.Column(db.Integer)
    cores = db.Column(db.Integer)
    cpu_seconds = db.Column(db.Integer)
    allocations = db.relationship("Allocation", backref="job")

    def json(self):
        """Jsonify"""
        return {
            "id": self.id,
            "job_id": self.job_id,
            "name": self.name,
            "owner": self.owner_id,
            "queue": self.queue_id,
            "start": self.start,
            "end": self.end,
            "cores": self.cores,
            "cpu_seconds": self.cpu_seconds
        }
Ejemplo n.º 13
0
class Volume(db.Model):
    id = id_column()
    openstack_id = db.Column(db.String(64), nullable=False, unique=True)
    owner = db.Column(db.String(64), nullable=False)
    tenant = db.Column(db.String(64), nullable=False)
    availability_zone_id = db.Column(None,
                                     db.ForeignKey("availability_zone.id"))
    attachments = db.relationship("VolumeAttachment", backref="volume")
    states = db.relationship("VolumeState", backref="volume")

    def json(self):
        """JSON"""
        return to_dict(self, ["openstack_id", "availability_zone_id", "owner",
                              "tenant"])
Ejemplo n.º 14
0
class VolumeState(db.Model):
    id = id_column()
    name = db.Column(db.String(128))
    size = db.Column(db.Integer, nullable=False, index=True)
    snapshot_id = db.Column(None, db.ForeignKey("snapshot.id"), nullable=False)
    volume_id = db.Column(None, db.ForeignKey("volume.id"), nullable=False)
    status_id = db.Column(None,
                          db.ForeignKey("volume_status.id"),
                          nullable=False)

    def json(self):
        """JSON"""
        return to_dict(self, ["name", "size", "snapshot_id", "volume_id",
                              "status_id"])
Ejemplo n.º 15
0
class PersonUsername(db.Model):
    """Person-Username Mapping Data Model"""
    id = id_column()
    person_id = db.Column(None, db.ForeignKey("person.id"))
    username_id = db.Column(None, db.ForeignKey("username.id"))
    snapshot_id = db.Column(None, db.ForeignKey("snapshot.id"))

    def json(self):
        """Jsonify"""
        return {
            "id": self.id,
            "person": self.person_id,
            "username": self.username_id,
            "snapshot": self.snapshot_id
        }
Ejemplo n.º 16
0
class Allocation(db.Model):
    """HPC Job-Host Mapping"""
    id = id_column()
    job_id = db.Column(None, db.ForeignKey("job.id"))
    host_id = db.Column(None, db.ForeignKey("host.id"))
    cores = db.Column(db.Integer)

    def json(self):
        """Jsonify"""
        return {
            "id": self.id,
            "job": self.job_id,
            "host": self.host_id,
            "cores": self.cores
        }
Ejemplo n.º 17
0
class Membership(db.Model):
    """Organisation Membership Data Model"""
    id = id_column()
    person_id = db.Column(None, db.ForeignKey("person.id"))
    organisation_id = db.Column(None, db.ForeignKey("organisation.id"))
    snapshot_id = db.Column(None, db.ForeignKey("snapshot.id"))

    def json(self):
        """Jsonify"""
        return {
            "id": self.id,
            "person": self.person_id,
            "organisation": self.organisation_id,
            "snapshot": self.snapshot_id
        }
Ejemplo n.º 18
0
class PersonEmail(db.Model):
    """Person-Email Mapping Data Model"""
    id = id_column()
    person_id = db.Column(None, db.ForeignKey("person.id"))
    email_id = db.Column(None, db.ForeignKey("email.id"))
    snapshot_id = db.Column(None, db.ForeignKey("snapshot.id"))

    def json(self):
        """Jsonify"""
        return {
            "id": self.id,
            "person": self.person_id,
            "email": self.email_id,
            "snapshot": self.snapshot_id
        }
Ejemplo n.º 19
0
class Snapshot(db.Model):
    id = id_column()
    ts = db.Column(db.Integer, unique=True, nullable=False)
    account_snapshots = db.relationship("Usage", backref="snapshot")

    def json(self):
        """JSON"""
        return to_dict(self, ["ts"])
Ejemplo n.º 20
0
class Snapshot(db.Model):
    """Storage Snapshot"""
    id = id_column()
    ts = db.Column(db.Integer, nullable=False)
    usage = db.relationship("Usage", backref="snapshot")
    host_id = db.Column(None, db.ForeignKey("host.id"), nullable=False)
    message = db.Column(UUID, nullable=False, unique=True)

    def json(self):
        """Jsonify"""

        return {
            "id": self.id,
            "ts": self.ts,
            "host": self.host_id,
            "message": self.message
        }
Ejemplo n.º 21
0
class AvailabilityZone(db.Model):
    id = id_column()
    name = db.Column(db.String(64), unique=True, nullable=False)
    volumes = db.relationship("Volume", backref="availability_zone")

    def json(self):
        """JSON"""
        return to_dict(self, ["name"])
Ejemplo n.º 22
0
class Account(db.Model):
    id = id_column()
    openstack_id = db.Column(db.String(64), unique=True, nullable=False)
    account_snapshots = db.relationship("Usage", backref="account")

    def json(self):
        """JSON"""
        return to_dict(self, ["openstack_id"])
Ejemplo n.º 23
0
class VolumeStatus(db.Model):
    id = id_column()
    name = db.Column(db.String(64), nullable=False, unique=True)
    states = db.relationship("VolumeState", backref="status")

    def json(self):
        """JSON"""
        return to_dict(self, ["name"])
Ejemplo n.º 24
0
class EntityName(db.Model):
    """Entity Name"""
    id = id_column()
    name = db.Column(db.String(256), unique=True, nullable=False)
    mappings = db.relationship("EntityNameMapping", backref="name")

    def json(self):
        """JSON"""
        return to_dict(self, ["name"])
Ejemplo n.º 25
0
class Host(db.Model):
    """Storage Host"""
    id = id_column()
    name = db.Column(db.String(256), unique=True, nullable=False)
    filesystems = db.relationship("Filesystem", backref="host")

    def json(self):
        """JSON"""
        return to_dict(self, ["name"])
Ejemplo n.º 26
0
class Project(db.Model):
    """Storage Group/Project"""
    id = id_column()
    name = db.Column(db.String(64), unique=True, nullable=False)
    usage = db.relationship("Usage", backref="project")

    def json(self):
        """JSON"""
        return to_dict(self, ["name"])
Ejemplo n.º 27
0
class Username(db.Model):
    """Username Data Model"""
    id = id_column()
    username = db.Column(db.String(64), index=True, nullable=False)
    person = db.relationship("PersonUsername", backref="username")

    def json(self):
        """Jsonify"""
        return {"id": self.id, "username": self.username}
Ejemplo n.º 28
0
class Owner(db.Model):
    """Storage Owner"""
    id = id_column()
    name = db.Column(db.String(64), unique=True, nullable=False)
    usage = db.relationship("Usage", backref="owner")

    def json(self):
        """Jsonify"""
        return {"id": self.id, "name": self.name}
Ejemplo n.º 29
0
class Email(db.Model):
    """Email Data Model"""
    id = id_column()
    address = db.Column(db.String(128), index=True, nullable=False)
    person = db.relationship("PersonEmail", backref="email")

    def json(self):
        """Jsonify"""
        return {"id": self.id, "address": self.address}
Ejemplo n.º 30
0
class Person(db.Model):
    """Person Data Model"""
    id = id_column()
    insightly_id = db.Column(db.Integer, index=True, nullable=False)
    first_name = db.Column(db.String(128), index=True)
    last_name = db.Column(db.String(128), index=True)
    email = db.relationship("PersonEmail", backref="person")
    username = db.relationship("PersonUsername", backref="person")
    membership = db.relationship("Membership", backref="person")

    def json(self):
        """Jsonify"""
        return {
            "id": self.id,
            "insightly_id": self.insightly_id,
            "first_name": self.first_name,
            "last_name": self.last_name
        }