Initial Commit
This commit is contained in:
59
api/app/swagger.py
Normal file
59
api/app/swagger.py
Normal file
@@ -0,0 +1,59 @@
|
||||
import logging
|
||||
|
||||
from flask import Flask
|
||||
from safrs import SAFRSAPI
|
||||
|
||||
from models.common.core.contour import contour as mcc_Contour
|
||||
from models.common.core.environment import environment as mcc_Environment
|
||||
from models.common.core.timestamps import timestamp as mcc_Timestamp
|
||||
|
||||
from models.vmware.core.vcenter import vcenter as mvc_vCenter
|
||||
from models.vmware.core.cluster import cluster as mvc_Cluster
|
||||
from models.vmware.reports.capacity.frame import frame as mvrc_Frame
|
||||
from models.vmware.reports.capacity.report import capacity as mvrc_Report
|
||||
from models.vmware.reports.mmhosts.report import maintenance as mvrm_Report
|
||||
from models.vmware.reports.datastores.report import datastore as mvrd_Report # noqa
|
||||
from models.vmware.reports.sharedNetworks.report import sharedNetwork as mvrsn_Report # noqa
|
||||
|
||||
from models.nutanix.core.pelement import pelement as mnc_Cluster
|
||||
from models.nutanix.core.pcentral import pcentral as mnc_Central
|
||||
from models.nutanix.reports.prismElement.report import npereport as mnrpe_Report # noqa
|
||||
from models.nutanix.reports.prismCentral.report import npcreport as mnrpc_Report # noqa
|
||||
from models.nutanix.reports.mmhosts.report import nmreport as mnrm_Report
|
||||
from models.nutanix.reports.utilization.report import nureport as mnru_Report # noqa
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def create_api(
|
||||
app: Flask,
|
||||
host: str,
|
||||
port: str,
|
||||
api_prefix: str,
|
||||
custom_swagger: dict = {}
|
||||
) -> None:
|
||||
api = SAFRSAPI(
|
||||
app,
|
||||
host=host,
|
||||
schemes=["http", "https"],
|
||||
port=port,
|
||||
prefix=api_prefix,
|
||||
custom_swagger=custom_swagger
|
||||
)
|
||||
|
||||
for model in [mcc_Contour, mcc_Environment, mcc_Timestamp]:
|
||||
api.expose_object(model, url_prefix="/common")
|
||||
|
||||
for model in [mvc_vCenter, mvc_Cluster]:
|
||||
api.expose_object(model, url_prefix="/vmware")
|
||||
|
||||
for model in [mvrc_Report, mvrm_Report, mvrd_Report, mvrsn_Report]:
|
||||
api.expose_object(model, url_prefix="/vmware/report")
|
||||
|
||||
api.expose_object(mvrc_Frame, url_prefix="/vmware/report/capacity")
|
||||
|
||||
for model in [mnc_Cluster, mnc_Central]:
|
||||
api.expose_object(model, url_prefix="/nutanix")
|
||||
|
||||
for model in [mnrpe_Report, mnrpc_Report, mnrm_Report, mnru_Report]:
|
||||
api.expose_object(model, url_prefix="/nutanix/report")
|
||||
Reference in New Issue
Block a user