55 lines
1.4 KiB
Python
55 lines
1.4 KiB
Python
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"
|
|
)
|