50 lines
1.5 KiB
Python
50 lines
1.5 KiB
Python
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"
|
|
)
|