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