Initial Commit
This commit is contained in:
56
api/app/models/vmware/reports/datastores/report.py
Normal file
56
api/app/models/vmware/reports/datastores/report.py
Normal file
@@ -0,0 +1,56 @@
|
||||
from sqlalchemy import (
|
||||
Column,
|
||||
String,
|
||||
Integer,
|
||||
ForeignKey
|
||||
)
|
||||
|
||||
from helpers.math import safe_division
|
||||
from models.common.base import BaseModel
|
||||
|
||||
|
||||
class datastore(BaseModel):
|
||||
"""
|
||||
description: Datastores report model
|
||||
"""
|
||||
__tablename__ = "tvrd_report"
|
||||
_s_collection_name = "datastores"
|
||||
|
||||
id = Column(Integer, primary_key=True, autoincrement=True, index=True)
|
||||
name = Column(String(64), index=True, nullable=False)
|
||||
space_used = Column(Integer, nullable=False)
|
||||
space_total = Column(Integer, nullable=False)
|
||||
space_provisioned = Column(Integer, nullable=False)
|
||||
|
||||
cluster_id = Column(
|
||||
Integer,
|
||||
ForeignKey("tvc_clusters.id"),
|
||||
nullable=False,
|
||||
index=True
|
||||
)
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
ovp_current = kwargs.pop("ovp_current", None) # noqa
|
||||
space_free_percent = kwargs.pop("space_free_percent", None) # noqa
|
||||
cap_used = kwargs.pop("cap_used", None) # noqa
|
||||
|
||||
BaseModel.__init__(self, **kwargs)
|
||||
|
||||
def to_dict(self):
|
||||
result = BaseModel.to_dict(self)
|
||||
|
||||
result["ovp_current"] = safe_division(
|
||||
result["space_provisioned"],
|
||||
result["space_total"]
|
||||
)
|
||||
result["space_free_percent"] = round((1 - safe_division(
|
||||
result["space_used"],
|
||||
result["space_total"]
|
||||
))*100, 0)
|
||||
|
||||
result['cap_used'] = round(safe_division(
|
||||
result['ovp_current'],
|
||||
2
|
||||
)*100)
|
||||
|
||||
return result
|
||||
Reference in New Issue
Block a user