from sqlalchemy import ( Column, String, Integer, ForeignKey ) from sqlalchemy.orm import relationship from models.common.base import BaseModel class cluster(BaseModel): """ description: VMware cluster model """ __tablename__ = "tvc_clusters" _s_collection_name = "clusters" exclude_rels = ["capacity", "datastores", "sharedNetwork"] id = Column(Integer, primary_key=True, autoincrement=True, index=True) name = Column(String(64), unique=True, index=True, nullable=False) vcenter_id = Column(Integer, ForeignKey("tvc_vcenters.id"), nullable=False) environment_id = Column( Integer, ForeignKey("tcc_environments.id"), nullable=True ) vcenter = relationship("vcenter", back_populates="cluster") environment = relationship("environment", back_populates="cluster") capacity = relationship( "capacity", backref="cluster", cascade="save-update, delete", lazy="dynamic" ) maintenance = relationship( "maintenance", backref="cluster", cascade="save-update, delete", lazy="dynamic" ) datastores = relationship( "datastore", backref="cluster", cascade="save-update, delete", lazy="dynamic" ) sharedNetwork = relationship( "sharedNetwork", backref="cluster", cascade="save-update, delete", lazy="dynamic" )