Initial Commit

This commit is contained in:
2023-09-08 19:05:37 +03:00
commit 7e60195cb7
185 changed files with 27107 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
from datetime import datetime
from sqlalchemy import (
Column,
String,
Integer,
DateTime,
ForeignKey
)
from models.common.base import BaseModel
class nmreport(BaseModel):
"""
description: Nutanix hosts in maintenance mode report
"""
__tablename__ = "tnrm_report"
_s_collection_name = "nmreport"
_s_class_name = "nmreport"
id = Column(Integer, primary_key=True, autoincrement=True, index=True)
ip = Column(String(15), unique=True, nullable=False)
ipmi = Column(String(15), unique=True, nullable=False)
hypervisor_name = Column(String(64), unique=True, nullable=False)
hypervisor_type = Column(String(32), index=True)
hypervisor_state = Column(String(64), index=True)
serial = Column(String(32), unique=True, nullable=False)
reason = Column(String(255), nullable=True)
date = Column(DateTime, default=datetime.utcnow)
pelement_id = Column(
Integer,
ForeignKey("tnc_pelement.id"),
nullable=False,
index=True
)

View File

@@ -0,0 +1,34 @@
from sqlalchemy import (
Column,
Integer,
ForeignKey
)
from models.common.base import BaseModel
class npcreport(BaseModel):
"""
description: Nutanix prism central report model
"""
__tablename__ = "tnrpc_report"
_s_collection_name = "npcreport"
_s_class_name = "prismCentral"
id = Column(Integer, primary_key=True, autoincrement=True, index=True)
vms_total = Column(Integer, nullable=False)
cert_status = Column(Integer, nullable=False)
aos_status = Column(Integer, nullable=False)
projects_total = Column(Integer, nullable=False)
alerts_crit_ack = Column(Integer, nullable=False)
alerts_crit_nack = Column(Integer, nullable=False)
alerts_warn_ack = Column(Integer, nullable=False)
alerts_warn_nack = Column(Integer, nullable=False)
pcentral_id = Column(
Integer,
ForeignKey("tnc_pcentrals.id"),
nullable=False,
index=True
)

View File

@@ -0,0 +1,49 @@
from sqlalchemy import (
Column,
String,
Integer,
ForeignKey
)
from sqlalchemy.orm import relationship
from models.common.base import BaseModel
class npereport(BaseModel):
"""
description: Nutanix prism element report model
"""
__tablename__ = "tnrpe_report"
_s_collection_name = "npereport"
_s_class_name = "prismElement"
id = Column(Integer, primary_key=True, autoincrement=True, index=True)
vms_total = Column(Integer, nullable=False)
cert_status = Column(Integer, nullable=False)
aos_status = Column(Integer, nullable=False)
storage_dedup = Column(Integer, nullable=False)
hosts_total = Column(Integer, nullable=False)
hosts_in_maintenance = Column(Integer, nullable=False)
storage_usage = Column(Integer, nullable=False)
cpu_usage = Column(Integer, nullable=False)
mem_usage = Column(Integer, nullable=False)
hypervisor = Column(String(32), nullable=True)
hypervisor_version = Column(String(32), nullable=True)
alerts_crit_ack = Column(Integer, nullable=False)
alerts_crit_nack = Column(Integer, nullable=False)
alerts_warn_ack = Column(Integer, nullable=False)
alerts_warn_nack = Column(Integer, nullable=False)
redundancy_factor = Column(Integer, nullable=False)
pelement_id = Column(
Integer,
ForeignKey("tnc_pelement.id"),
nullable=False,
index=True
)
decomission = relationship(
"nureport",
backref="npereport",
cascade="save-update, delete",
lazy="dynamic"
)

View File

@@ -0,0 +1,31 @@
from sqlalchemy import (
Column,
Integer,
Float,
ForeignKey
)
from models.common.base import BaseModel
class nureport(BaseModel):
"""
description: Nutanix utilization report
"""
__tablename__ = "tnru_report"
_s_collection_name = "nureport"
_s_class_name = "utilization"
id = Column(Integer, primary_key=True, autoincrement=True, index=True)
cpu_avg = Column(Float, nullable=False)
cpu_peak = Column(Float, nullable=False)
mem_avg = Column(Float, nullable=False)
mem_peak = Column(Float, nullable=False)
storage = Column(Float, nullable=False)
pelement_id = Column(
Integer,
ForeignKey("tnrpe_report.id"),
nullable=False,
index=True
)