api_route_table.py 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. from jimvc.models import add_rule_api
  4. from jimvc.api import config, token, misc
  5. from jimvc.api import ip_pool
  6. from jimvc.api import reserved_ip
  7. from jimvc.api import os_template_profile
  8. from jimvc.api import snapshot
  9. from jimvc.api import os_template_initialize_operate
  10. from jimvc.api import user
  11. from jimvc.api import ssh_key
  12. from jimvc.api import os_template_image
  13. from jimvc.api import guest_performance
  14. from jimvc.api import disk
  15. from jimvc.api import log
  16. from jimvc.api import os_template_initialize_operate_set
  17. from jimvc.api import dashboard
  18. from jimvc.api import guest
  19. from jimvc.api import host
  20. from jimvc.api import host_performance
  21. from jimvc.api import about
  22. from jimvc.api import project
  23. from jimvc.api import service
  24. from jimvc.api import vlan
  25. __author__ = 'James Iter'
  26. __date__ = '2017/03/30'
  27. __contact__ = 'james.iter.cn@gmail.com'
  28. __copyright__ = '(c) 2017 by James Iter.'
  29. # JimV 配置操作
  30. add_rule_api(config.blueprint, '', api_func='config.r_create', methods=['POST'])
  31. # 只有一条记录,所以不指定 id
  32. add_rule_api(config.blueprint, '', api_func='config.r_update', methods=['PATCH'])
  33. add_rule_api(config.blueprint, '/_quota', api_func='config.r_update_quota', methods=['PATCH'])
  34. add_rule_api(config.blueprint, '', api_func='config.r_get', methods=['GET'])
  35. # JimV 关于操作
  36. add_rule_api(about.blueprint, '', api_func='about.r_get', methods=['GET'])
  37. # 杂项操作
  38. add_rule_api(misc.blueprint, '/_join/<node_id>/<_token>', api_func='misc.r_join', methods=['GET'])
  39. # IP 池操作
  40. add_rule_api(ip_pool.blueprint, '', api_func='ip_pool.r_create', methods=['POST'])
  41. add_rule_api(ip_pool.blueprints, '/<ids>', api_func='ip_pool.r_update', methods=['PATCH'])
  42. add_rule_api(ip_pool.blueprints, '/<ids>', api_func='ip_pool.r_delete', methods=['DELETE'])
  43. add_rule_api(ip_pool.blueprints, '/<ids>', api_func='ip_pool.r_get', methods=['GET'])
  44. add_rule_api(ip_pool.blueprints, '', api_func='ip_pool.r_get_by_filter', methods=['GET'])
  45. add_rule_api(ip_pool.blueprints, '/_search', api_func='ip_pool.r_content_search', methods=['GET'])
  46. add_rule_api(ip_pool.blueprint, '/<_id>', api_func='ip_pool.r_activity', methods=['PUT'])
  47. # 保留的 IP 操作
  48. add_rule_api(reserved_ip.blueprint, '', api_func='reserved_ip.r_create', methods=['POST'])
  49. add_rule_api(reserved_ip.blueprints, '/<ids>', api_func='reserved_ip.r_delete', methods=['DELETE'])
  50. add_rule_api(reserved_ip.blueprints, '/<ids>', api_func='reserved_ip.r_get', methods=['GET'])
  51. add_rule_api(reserved_ip.blueprints, '', api_func='reserved_ip.r_get_by_filter', methods=['GET'])
  52. add_rule_api(reserved_ip.blueprints, '/_search', api_func='reserved_ip.r_content_search', methods=['GET'])
  53. # JimV Dashboard
  54. add_rule_api(dashboard.blueprint, '/_show', api_func='dashboard.r_show', methods=['GET'])
  55. # 用户管理
  56. add_rule_api(user.blueprint, '/_sign_in', api_func='user.r_sign_in', methods=['POST'])
  57. add_rule_api(user.blueprint, '/_sign_out', api_func='user.r_sign_out', methods=['GET'])
  58. add_rule_api(user.blueprint, '/_change_password', api_func='user.r_change_password', methods=['POST'])
  59. add_rule_api(user.blueprint, '/_reset_password/<token>', api_func='user.r_reset_password', methods=['POST'])
  60. add_rule_api(user.blueprint, '/_send_reset_password_email/<login_name>', api_func='user.r_send_reset_password_email',
  61. methods=['PUT'])
  62. # 系统模板镜像操作
  63. add_rule_api(os_template_image.blueprint, '', api_func='os_template_image.r_create', methods=['POST'])
  64. add_rule_api(os_template_image.blueprint, '/<_id>', api_func='os_template_image.r_update', methods=['PATCH'])
  65. add_rule_api(os_template_image.blueprints, '/<ids>', api_func='os_template_image.r_delete', methods=['DELETE'])
  66. add_rule_api(os_template_image.blueprints, '/<ids>', api_func='os_template_image.r_get', methods=['GET'])
  67. add_rule_api(os_template_image.blueprints, '', api_func='os_template_image.r_get_by_filter', methods=['GET'])
  68. add_rule_api(os_template_image.blueprints, '/_search', api_func='os_template_image.r_content_search', methods=['GET'])
  69. add_rule_api(os_template_image.blueprints, '/_show', api_func='os_template_image.r_show', methods=['GET'])
  70. # 系统模板描述文件操作
  71. add_rule_api(os_template_profile.blueprint, '', api_func='os_template_profile.r_create', methods=['POST'])
  72. add_rule_api(os_template_profile.blueprint, '/<_id>', api_func='os_template_profile.r_update', methods=['PATCH'])
  73. add_rule_api(os_template_profile.blueprints, '/<ids>', api_func='os_template_profile.r_delete', methods=['DELETE'])
  74. add_rule_api(os_template_profile.blueprints, '/<ids>', api_func='os_template_profile.r_get', methods=['GET'])
  75. add_rule_api(os_template_profile.blueprints, '', api_func='os_template_profile.r_get_by_filter', methods=['GET'])
  76. add_rule_api(os_template_profile.blueprints, '/_search', api_func='os_template_profile.r_content_search',
  77. methods=['GET'])
  78. # 系统模板初始化操作集操作
  79. add_rule_api(os_template_initialize_operate_set.blueprint, '',
  80. api_func='os_template_initialize_operate_set.r_create', methods=['POST'])
  81. add_rule_api(os_template_initialize_operate_set.blueprint, '/<_id>',
  82. api_func='os_template_initialize_operate_set.r_update', methods=['PATCH'])
  83. add_rule_api(os_template_initialize_operate_set.blueprints, '/<ids>',
  84. api_func='os_template_initialize_operate_set.r_delete', methods=['DELETE'])
  85. add_rule_api(os_template_initialize_operate_set.blueprints, '/<ids>',
  86. api_func='os_template_initialize_operate_set.r_get', methods=['GET'])
  87. add_rule_api(os_template_initialize_operate_set.blueprints, '',
  88. api_func='os_template_initialize_operate_set.r_get_by_filter', methods=['GET'])
  89. add_rule_api(os_template_initialize_operate_set.blueprints, '/_search',
  90. api_func='os_template_initialize_operate_set.r_content_search', methods=['GET'])
  91. # 系统模板初始化操作细则
  92. add_rule_api(os_template_initialize_operate.blueprint, '',
  93. api_func='os_template_initialize_operate.r_create', methods=['POST'])
  94. add_rule_api(os_template_initialize_operate.blueprint, '/<_id>',
  95. api_func='os_template_initialize_operate.r_update', methods=['PATCH'])
  96. add_rule_api(os_template_initialize_operate.blueprints, '/<ids>',
  97. api_func='os_template_initialize_operate.r_delete', methods=['DELETE'])
  98. add_rule_api(os_template_initialize_operate.blueprints, '/<ids>',
  99. api_func='os_template_initialize_operate.r_get', methods=['GET'])
  100. add_rule_api(os_template_initialize_operate.blueprints, '',
  101. api_func='os_template_initialize_operate.r_get_by_filter', methods=['GET'])
  102. add_rule_api(os_template_initialize_operate.blueprints, '/_search',
  103. api_func='os_template_initialize_operate.r_content_search', methods=['GET'])
  104. # Guest操作
  105. # 创建虚拟机
  106. add_rule_api(guest.blueprint, '', api_func='guest.r_create', methods=['POST'])
  107. add_rule_api(guest.blueprints, '/_autostart/<uuids>/<autostart>', api_func='guest.r_autostart', methods=['PUT'])
  108. add_rule_api(guest.blueprints, '/_reboot/<uuids>', api_func='guest.r_reboot', methods=['PUT'])
  109. add_rule_api(guest.blueprints, '/_force_reboot/<uuids>', api_func='guest.r_force_reboot', methods=['PUT'])
  110. add_rule_api(guest.blueprints, '/_shutdown/<uuids>', api_func='guest.r_shutdown', methods=['PUT'])
  111. add_rule_api(guest.blueprints, '/_force_shutdown/<uuids>', api_func='guest.r_force_shutdown', methods=['PUT'])
  112. add_rule_api(guest.blueprints, '/_boot/<uuids>', api_func='guest.r_boot', methods=['PUT'])
  113. add_rule_api(guest.blueprints, '/_suspend/<uuids>', api_func='guest.r_suspend', methods=['PUT'])
  114. add_rule_api(guest.blueprints, '/_resume/<uuids>', api_func='guest.r_resume', methods=['PUT'])
  115. add_rule_api(guest.blueprint, '/_attach_disk/<uuid>/<disk_uuid>', api_func='guest.r_attach_disk', methods=['PUT'])
  116. add_rule_api(guest.blueprint, '/_detach_disk/<disk_uuid>', api_func='guest.r_detach_disk', methods=['PUT'])
  117. add_rule_api(guest.blueprints, '/_migrate/<uuids>/<node_id>', api_func='guest.r_migrate', methods=['PUT'])
  118. add_rule_api(guest.blueprints, '/<uuids>', api_func='guest.r_get', methods=['GET'])
  119. add_rule_api(guest.blueprints, '', api_func='guest.r_get_by_filter', methods=['GET'])
  120. add_rule_api(guest.blueprints, '/_search', api_func='guest.r_content_search', methods=['GET'])
  121. add_rule_api(guest.blueprints, '/<uuids>', api_func='guest.r_update', methods=['PATCH'])
  122. add_rule_api(guest.blueprint, '/_revise_ip/<uuid>/<ip>', api_func='guest.r_revise_ip', methods=['PUT'])
  123. add_rule_api(guest.blueprints, '/<uuids>', api_func='guest.r_delete', methods=['DELETE'])
  124. add_rule_api(guest.blueprints, '/_change_vlan/<uuids>/<vlan_id>', api_func='guest.r_change_vlan', methods=['PUT'])
  125. add_rule_api(guest.blueprints, '/_reset_password/<uuids>/<password>', api_func='guest.r_reset_password',
  126. methods=['PUT'])
  127. add_rule_api(guest.blueprints, '/_allocate_bandwidth/<uuids>/<bandwidth>/<bandwidth_unit>',
  128. api_func='guest.r_allocate_bandwidth', methods=['PUT'])
  129. add_rule_api(guest.blueprints, '/_adjust_ability/<uuids>/<cpu>/<memory>', api_func='guest.r_adjust_ability',
  130. methods=['PUT'])
  131. add_rule_api(guest.blueprints, '/_change_prepared_by/<uuids>/<service_id>', api_func='guest.r_change_prepared_by',
  132. methods=['PUT'])
  133. add_rule_api(guest.blueprints, '/_distribute_count', api_func='guest.r_distribute_count', methods=['GET'])
  134. add_rule_api(guest.blueprints, '/_refresh_guest_state', api_func='guest.r_refresh_guest_state', methods=['PATCH'])
  135. add_rule_api(guest.blueprints, '/_show', api_func='guest.r_show', methods=['GET'])
  136. add_rule_api(guest.blueprint, '/_detail/<uuid>', api_func='guest.r_detail', methods=['GET'])
  137. add_rule_api(guest.blueprint, '/_vnc/<uuid>', api_func='guest.r_vnc', methods=['GET'])
  138. # Disk操作
  139. add_rule_api(disk.blueprint, '', api_func='disk.r_create', methods=['POST'])
  140. add_rule_api(disk.blueprint, '/_disk_resize/<uuid>/<size>', api_func='disk.r_resize', methods=['PUT'])
  141. add_rule_api(disk.blueprints, '/<uuids>', api_func='disk.r_delete', methods=['DELETE'])
  142. add_rule_api(disk.blueprints, '/<uuids>', api_func='disk.r_update', methods=['PATCH'])
  143. add_rule_api(disk.blueprints, '/<uuids>', api_func='disk.r_get', methods=['GET'])
  144. add_rule_api(disk.blueprints, '', api_func='disk.r_get_by_filter', methods=['GET'])
  145. add_rule_api(disk.blueprints, '/_search', api_func='disk.r_content_search', methods=['GET'])
  146. add_rule_api(disk.blueprints, '/_distribute_count', api_func='disk.r_distribute_count', methods=['GET'])
  147. add_rule_api(disk.blueprints, '/_show', api_func='disk.r_show', methods=['GET'])
  148. add_rule_api(disk.blueprint, '/_detail/<uuid>', api_func='disk.r_detail', methods=['GET'])
  149. # 日志查询
  150. # 系统模板操作
  151. add_rule_api(log.blueprints, '/<ids>', api_func='log.r_get', methods=['GET'])
  152. add_rule_api(log.blueprints, '', api_func='log.r_get_by_filter', methods=['GET'])
  153. add_rule_api(log.blueprints, '/_search', api_func='log.r_content_search', methods=['GET'])
  154. add_rule_api(log.blueprints, '/_show', api_func='log.r_show', methods=['GET'])
  155. # 计算节点操作
  156. add_rule_api(host.blueprints, '/<nodes_id>', api_func='host.r_get', methods=['GET'])
  157. add_rule_api(host.blueprints, '', api_func='host.r_get_by_filter', methods=['GET'])
  158. add_rule_api(host.blueprints, '/_search', api_func='host.r_content_search', methods=['GET'])
  159. add_rule_api(host.blueprints, '/<nodes_id>', api_func='host.r_delete', methods=['DELETE'])
  160. add_rule_api(host.blueprints, '/<hosts_name>/<random>', api_func='host.r_nonrandom', methods=['PUT'])
  161. add_rule_api(host.blueprints, '/_show', api_func='host.r_show', methods=['GET'])
  162. # Token 操作
  163. add_rule_api(token.blueprint, '', api_func='token.r_create', methods=['POST'])
  164. add_rule_api(token.blueprints, '', api_func='token.r_get_by_filter', methods=['GET'])
  165. add_rule_api(token.blueprints, '/<tokens>', api_func='token.r_delete', methods=['DELETE'])
  166. # SSH Key 操作
  167. add_rule_api(ssh_key.blueprint, '', api_func='ssh_key.r_create', methods=['POST'])
  168. add_rule_api(ssh_key.blueprints, '/<ids>', api_func='ssh_key.r_delete', methods=['DELETE'])
  169. add_rule_api(ssh_key.blueprints, '/<_id>', api_func='ssh_key.r_update', methods=['PATCH'])
  170. add_rule_api(ssh_key.blueprints, '/<ids>', api_func='ssh_key.r_get', methods=['GET'])
  171. add_rule_api(ssh_key.blueprints, '', api_func='ssh_key.r_get_by_filter', methods=['GET'])
  172. add_rule_api(ssh_key.blueprints, '/_search', api_func='ssh_key.r_content_search', methods=['GET'])
  173. add_rule_api(ssh_key.blueprint, '/_bound/<ssh_key_id>', api_func='ssh_key.r_bound', methods=['GET'])
  174. add_rule_api(ssh_key.blueprint, '/_unbound/<ssh_key_id>', api_func='ssh_key.r_unbound', methods=['GET'])
  175. add_rule_api(ssh_key.blueprint, '/_bind/<ssh_key_id>/<uuids>', api_func='ssh_key.r_bind', methods=['PUT'])
  176. add_rule_api(ssh_key.blueprint, '/_unbind/<ssh_key_id>/<uuids>', api_func='ssh_key.r_unbind', methods=['PUT'])
  177. add_rule_api(ssh_key.blueprints, '/_show', api_func='ssh_key.r_show', methods=['GET'])
  178. # 快照操作
  179. add_rule_api(snapshot.blueprint, '', api_func='snapshot.r_create', methods=['POST'])
  180. add_rule_api(snapshot.blueprints, '/<snapshots_id>', api_func='snapshot.r_delete', methods=['DELETE'])
  181. add_rule_api(snapshot.blueprint, '/<snapshot_id>', api_func='snapshot.r_update', methods=['PATCH'])
  182. add_rule_api(snapshot.blueprints, '/<snapshots_id>', api_func='snapshot.r_get', methods=['GET'])
  183. add_rule_api(snapshot.blueprints, '', api_func='snapshot.r_get_by_filter', methods=['GET'])
  184. add_rule_api(snapshot.blueprints, '/_search', api_func='snapshot.r_content_search', methods=['GET'])
  185. add_rule_api(snapshot.blueprint, '/_revert/<snapshot_id>', api_func='snapshot.r_revert', methods=['PUT'])
  186. add_rule_api(snapshot.blueprint, '/_disks/<snapshot_id>', api_func='snapshot.r_get_disks', methods=['GET'])
  187. add_rule_api(snapshot.blueprints, '/_mapping_by_disks_uuid/<disks_uuid>',
  188. api_func='snapshot.r_get_snapshots_by_disks_uuid', methods=['GET'])
  189. add_rule_api(snapshot.blueprint, '/_convert_to_os_template_image/<snapshot_id>/<disk_uuid>',
  190. api_func='snapshot.r_convert_to_os_template_image', methods=['PUT'])
  191. add_rule_api(snapshot.blueprints, '/_show', api_func='snapshot.r_show', methods=['GET'])
  192. # 项目操作
  193. add_rule_api(project.blueprint, '', api_func='project.r_create', methods=['POST'])
  194. add_rule_api(project.blueprint, '/<_id>', api_func='project.r_update', methods=['PATCH'])
  195. add_rule_api(project.blueprints, '/<ids>', api_func='project.r_delete', methods=['DELETE'])
  196. add_rule_api(project.blueprints, '/<ids>', api_func='project.r_get', methods=['GET'])
  197. add_rule_api(project.blueprints, '', api_func='project.r_get_by_filter', methods=['GET'])
  198. add_rule_api(project.blueprints, '/_search', api_func='project.r_content_search', methods=['GET'])
  199. # 服务组操作
  200. add_rule_api(service.blueprint, '', api_func='service.r_create', methods=['POST'])
  201. add_rule_api(service.blueprint, '/<_id>', api_func='service.r_update', methods=['PATCH'])
  202. add_rule_api(service.blueprints, '/<ids>', api_func='service.r_delete', methods=['DELETE'])
  203. add_rule_api(service.blueprints, '/<ids>', api_func='service.r_get', methods=['GET'])
  204. add_rule_api(service.blueprints, '', api_func='service.r_get_by_filter', methods=['GET'])
  205. add_rule_api(service.blueprints, '/_search', api_func='service.r_content_search', methods=['GET'])
  206. # VLAN 操作
  207. add_rule_api(vlan.blueprint, '', api_func='vlan.r_create', methods=['POST'])
  208. add_rule_api(vlan.blueprints, '/<ids>', api_func='vlan.r_update', methods=['PATCH'])
  209. add_rule_api(vlan.blueprints, '/<ids>', api_func='vlan.r_delete', methods=['DELETE'])
  210. add_rule_api(vlan.blueprints, '/<ids>', api_func='vlan.r_get', methods=['GET'])
  211. add_rule_api(vlan.blueprints, '', api_func='vlan.r_get_by_filter', methods=['GET'])
  212. add_rule_api(vlan.blueprints, '/_search', api_func='vlan.r_content_search', methods=['GET'])
  213. # Guest 性能查询
  214. add_rule_api(guest_performance.blueprint, '/cpu_memory',
  215. api_func='guest_performance.r_cpu_memory_get_by_filter', methods=['GET'])
  216. add_rule_api(guest_performance.blueprint, '/traffic',
  217. api_func='guest_performance.r_traffic_get_by_filter', methods=['GET'])
  218. add_rule_api(guest_performance.blueprint, '/disk_io',
  219. api_func='guest_performance.r_disk_io_get_by_filter', methods=['GET'])
  220. add_rule_api(guest_performance.blueprint, '/cpu_memory/last_hour/<uuid>',
  221. api_func='guest_performance.r_cpu_memory_last_hour', methods=['GET'])
  222. add_rule_api(guest_performance.blueprint, '/cpu_memory/last_six_hours/<uuid>',
  223. api_func='guest_performance.r_cpu_memory_last_six_hours', methods=['GET'])
  224. add_rule_api(guest_performance.blueprint, '/cpu_memory/last_day/<uuid>',
  225. api_func='guest_performance.r_cpu_memory_last_day', methods=['GET'])
  226. add_rule_api(guest_performance.blueprint, '/cpu_memory/last_seven_days/<uuid>',
  227. api_func='guest_performance.r_cpu_memory_last_seven_days', methods=['GET'])
  228. add_rule_api(guest_performance.blueprint, '/traffic/last_hour/<uuid>',
  229. api_func='guest_performance.r_traffic_last_hour', methods=['GET'])
  230. add_rule_api(guest_performance.blueprint, '/traffic/last_six_hours/<uuid>',
  231. api_func='guest_performance.r_traffic_last_six_hours', methods=['GET'])
  232. add_rule_api(guest_performance.blueprint, '/traffic/last_day/<uuid>',
  233. api_func='guest_performance.r_traffic_last_day', methods=['GET'])
  234. add_rule_api(guest_performance.blueprint, '/traffic/last_seven_days/<uuid>',
  235. api_func='guest_performance.r_traffic_last_seven_days', methods=['GET'])
  236. add_rule_api(guest_performance.blueprint, '/disk_io/last_hour/<uuid>',
  237. api_func='guest_performance.r_disk_io_last_hour', methods=['GET'])
  238. add_rule_api(guest_performance.blueprint, '/disk_io/last_six_hours/<uuid>',
  239. api_func='guest_performance.r_disk_io_last_six_hours', methods=['GET'])
  240. add_rule_api(guest_performance.blueprint, '/disk_io/last_day/<uuid>',
  241. api_func='guest_performance.r_disk_io_last_day', methods=['GET'])
  242. add_rule_api(guest_performance.blueprint, '/disk_io/last_seven_days/<uuid>',
  243. api_func='guest_performance.r_disk_io_last_seven_days', methods=['GET'])
  244. add_rule_api(guest_performance.blueprint, '/_current_top_10',
  245. api_func='guest_performance.r_current_top_10', methods=['GET'])
  246. add_rule_api(guest_performance.blueprint, '/_last_10_minutes_top_10',
  247. api_func='guest_performance.r_last_10_minutes_top_10', methods=['GET'])
  248. add_rule_api(guest_performance.blueprint, '/_last_hour_top_10',
  249. api_func='guest_performance.r_last_hour_top_10', methods=['GET'])
  250. add_rule_api(guest_performance.blueprint, '/_last_six_hours_top_10',
  251. api_func='guest_performance.r_last_six_hours_top_10', methods=['GET'])
  252. add_rule_api(guest_performance.blueprint, '/_last_day_top_10',
  253. api_func='guest_performance.r_last_day_top_10', methods=['GET'])
  254. # Host 性能查询
  255. add_rule_api(host_performance.blueprint, '/cpu_memory', api_func='host_performance.r_cpu_memory_get_by_filter',
  256. methods=['GET'])
  257. add_rule_api(host_performance.blueprint, '/traffic', api_func='host_performance.r_traffic_get_by_filter',
  258. methods=['GET'])
  259. add_rule_api(host_performance.blueprint, '/disk_io', api_func='host_performance.r_disk_usage_io_get_by_filter',
  260. methods=['GET'])
  261. add_rule_api(host_performance.blueprint, '/cpu_memory/last_hour/<node_id>',
  262. api_func='host_performance.r_cpu_memory_last_hour', methods=['GET'])
  263. add_rule_api(host_performance.blueprint, '/cpu_memory/last_six_hours/<node_id>',
  264. api_func='host_performance.r_cpu_memory_last_six_hours', methods=['GET'])
  265. add_rule_api(host_performance.blueprint, '/cpu_memory/last_day/<node_id>',
  266. api_func='host_performance.r_cpu_memory_last_day', methods=['GET'])
  267. add_rule_api(host_performance.blueprint, '/cpu_memory/last_seven_days/<node_id>',
  268. api_func='host_performance.r_cpu_memory_last_seven_days', methods=['GET'])
  269. add_rule_api(host_performance.blueprint, '/traffic/last_hour/<node_id>/<nic_name>',
  270. api_func='host_performance.r_traffic_last_hour', methods=['GET'])
  271. add_rule_api(host_performance.blueprint, '/traffic/last_six_hours/<node_id>/<nic_name>',
  272. api_func='host_performance.r_traffic_last_six_hours', methods=['GET'])
  273. add_rule_api(host_performance.blueprint, '/traffic/last_day/<node_id>/<nic_name>',
  274. api_func='host_performance.r_traffic_last_day', methods=['GET'])
  275. add_rule_api(host_performance.blueprint, '/traffic/last_seven_days/<node_id>/<nic_name>',
  276. api_func='host_performance.r_traffic_last_seven_days', methods=['GET'])
  277. add_rule_api(host_performance.blueprint, '/disk_io/last_hour/<node_id>/<path:mountpoint>',
  278. api_func='host_performance.r_disk_usage_io_last_hour', methods=['GET'])
  279. add_rule_api(host_performance.blueprint, '/disk_io/last_six_hours/<node_id>/<mountpoint>',
  280. api_func='host_performance.r_disk_usage_io_last_six_hours', methods=['GET'])
  281. add_rule_api(host_performance.blueprint, '/disk_io/last_day/<node_id>/<mountpoint>',
  282. api_func='host_performance.r_disk_usage_io_last_day', methods=['GET'])
  283. add_rule_api(host_performance.blueprint, '/disk_io/last_seven_days/<node_id>/<mountpoint>',
  284. api_func='host_performance.r_disk_usage_io_last_seven_days', methods=['GET'])
  285. add_rule_api(host_performance.blueprint, '/_current_top_10',
  286. api_func='host_performance.r_current_top_10', methods=['GET'])
  287. add_rule_api(host_performance.blueprint, '/_last_10_minutes_top_10',
  288. api_func='host_performance.r_last_10_minutes_top_10', methods=['GET'])
  289. add_rule_api(host_performance.blueprint, '/_last_hour_top_10',
  290. api_func='host_performance.r_last_hour_top_10', methods=['GET'])
  291. add_rule_api(host_performance.blueprint, '/_last_six_hours_top_10',
  292. api_func='host_performance.r_last_six_hours_top_10', methods=['GET'])
  293. add_rule_api(host_performance.blueprint, '/_last_day_top_10',
  294. api_func='host_performance.r_last_day_top_10', methods=['GET'])