res.py 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. from common.utils import call_api
  2. class ResApi:
  3. def get_res_instance_list(self, res_type=None):
  4. """
  5. 获取所有资源及子资源信息。
  6. :param res_type: 资源类型ID(可通过 /res/client/getResTypes4Json 接口获得),默认为 None。
  7. :return: API 返回的资源列表数据。
  8. """
  9. params = {"resType": res_type}
  10. return call_api("/res/getResInstanceList", method="POST", params=params)
  11. def get_res_instance_by_id(self, res_id):
  12. """
  13. 通过主资源ID获取单个主资源及其所有子资源。
  14. :param res_id: 主资源ID(必填,可通过 /res/getResInstanceList 接口获得)。
  15. :return: API 返回的主资源及其子资源详情数据。
  16. """
  17. params = {"resId": res_id}
  18. return call_api("/res/getResInstanceById", method="POST", params=params)
  19. def get_res_metric_list(self, res_id, metric_type=None):
  20. """
  21. 获取主资源的指标详细信息。
  22. :param res_id: 主资源ID(必填,可通过 /res/getResInstanceList 接口获得)。
  23. :param metric_type: 指标类型,默认为 None,可选值为:
  24. - AVAIL:可用性指标
  25. - CONF:配置指标
  26. - INFO:信息指标
  27. - PERF:性能指标
  28. :return: API 返回的主资源指标详细信息。
  29. """
  30. params = {"resId": res_id, "metricType": metric_type}
  31. return call_api("/res/getResMetricList", method="POST", params=params)
  32. def get_sub_res_metric_list(self, sub_res_id, metric_type=None):
  33. """
  34. 获取子资源的指标详细信息。
  35. :param sub_res_id: 子资源ID(必填,可通过 /res/getResInstanceList 接口获得)。
  36. :param metric_type: 指标类型,默认为 None,可选值为:
  37. - AVAIL:可用性指标
  38. - CONF:配置指标
  39. - INFO:信息指标
  40. - PERF:性能指标
  41. :return: API 返回的子资源指标详细信息。
  42. """
  43. params = {"subResId": sub_res_id, "metricType": metric_type}
  44. return call_api("/res/getSubResMetricList", method="POST", params=params)
  45. def get_res_list(self, tree_node_id, domain_id=None, state=None, page_index=1, page_size=20, sort_column=None, sort_type=None) -> dict:
  46. """
  47. 获取主资源列表。
  48. :param tree_node_id: 资源树节点ID(必填,00 表示所有资源)。
  49. :param domain_id: 域ID,可通过 /login 接口获得,默认为 None。
  50. :param state: 可用性状态,默认为 None,可选值为:
  51. - 1:可用
  52. - -1:不可用
  53. - -2:未知
  54. - all:全部
  55. :param page_index: 页数,默认为 1。
  56. :param page_size: 每页条数,默认为 20。
  57. :param sort_column: 排序字段,仅支持单字段排序,默认为 None。
  58. :param sort_type: 排序方式(ASC/DESC),需与 sort_column 同时设置,默认为 None。
  59. :return: API 返回的主资源列表数据。
  60. """
  61. params = {
  62. "treeNodeId": tree_node_id,
  63. "domainId": domain_id,
  64. "state": state,
  65. "pageIndex": page_index,
  66. "pageSize": page_size,
  67. "sortColumn": sort_column,
  68. "sortType": sort_type,
  69. }
  70. return call_api("/res/list", method="GET", params=params)