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

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"
)