Files
virt-dashboard/api/app/models/nutanix/core/pelement.py
2023-09-08 19:05:37 +03:00

53 lines
1.5 KiB
Python

from sqlalchemy import (
Column,
String,
Integer,
ForeignKey
)
from sqlalchemy.orm import relationship
from models.common.base import BaseModel
class pelement(BaseModel):
"""
description: Nutanix prism element model
"""
__tablename__ = "tnc_pelement"
_s_collection_name = "pelements"
_s_class_name = "pelement"
id = Column(Integer, primary_key=True, autoincrement=True, index=True)
ip = Column(String(15), unique=True, nullable=False)
name = Column(String(32), unique=True, nullable=False)
hostname = Column(String(64), unique=True, nullable=True)
description = Column(String(64), unique=False, nullable=False)
ncc_version = Column(String(16), index=True, nullable=False)
aos_version = Column(String(16), index=True, nullable=False)
cpu_decomiss = Column(Integer, nullable=True)
pcentral_id = Column(Integer, ForeignKey("tnc_pcentrals.id"))
environment_id = Column(Integer, ForeignKey("tcc_environments.id"))
environment = relationship("environment", back_populates="pelement")
pelement = relationship(
"npereport",
backref="pelement",
cascade="save-update, delete",
lazy="dynamic"
)
maintenance = relationship(
"nmreport",
backref="pelement",
cascade="save-update, delete",
lazy="dynamic"
)
def to_dict(self):
result = BaseModel.to_dict(self)
if (result['hostname'] is None):
result['hostname'] = result['hostname']
return result