api_route_table.py 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. from models.utils import add_rule_api
  4. from api import config
  5. from api import user
  6. from api import guest
  7. from api import disk
  8. from api import boot_job
  9. from api import operate_rule
  10. from api import os_template
  11. from api import log
  12. from api import host
  13. from api import performance
  14. from api import host_performance
  15. __author__ = 'James Iter'
  16. __date__ = '2017/03/30'
  17. __contact__ = 'james.iter.cn@gmail.com'
  18. __copyright__ = '(c) 2017 by James Iter.'
  19. # JimV 配置操作
  20. add_rule_api(config.blueprint, '', api_func='config.r_create', methods=['POST'])
  21. # 只有一条记录,所以不指定 id
  22. add_rule_api(config.blueprint, '', api_func='config.r_update', methods=['PATCH'])
  23. add_rule_api(config.blueprint, '/_quota', api_func='config.r_update_quota', methods=['PATCH'])
  24. add_rule_api(config.blueprint, '', api_func='config.r_get', methods=['GET'])
  25. # 用户管理
  26. add_rule_api(user.blueprint, '/_sign_in', api_func='user.r_sign_in', methods=['POST'])
  27. add_rule_api(user.blueprint, '/_sign_out', api_func='user.r_sign_out', methods=['GET'])
  28. add_rule_api(user.blueprint, '/_change_password', api_func='user.r_change_password', methods=['POST'])
  29. add_rule_api(user.blueprint, '/_reset_password/<token>', api_func='user.r_reset_password', methods=['POST'])
  30. add_rule_api(user.blueprint, '/_send_reset_password_email/<login_name>', api_func='user.r_send_reset_password_email',
  31. methods=['PUT'])
  32. # 系统启动作业配置操作
  33. add_rule_api(boot_job.blueprint, '', api_func='boot_job.r_create', methods=['POST'])
  34. add_rule_api(boot_job.blueprint, '/<_id>', api_func='boot_job.r_update', methods=['PATCH'])
  35. add_rule_api(boot_job.blueprints, '/<ids>', api_func='boot_job.r_delete', methods=['DELETE'])
  36. add_rule_api(boot_job.blueprints, '/<ids>', api_func='boot_job.r_get', methods=['GET'])
  37. add_rule_api(boot_job.blueprints, '', api_func='boot_job.r_get_by_filter', methods=['GET'])
  38. add_rule_api(boot_job.blueprints, '/_search', api_func='boot_job.r_content_search', methods=['GET'])
  39. add_rule_api(operate_rule.blueprint, '', api_func='operate_rule.r_create', methods=['POST'])
  40. add_rule_api(operate_rule.blueprint, '/<_id>', api_func='operate_rule.r_update', methods=['PATCH'])
  41. add_rule_api(operate_rule.blueprints, '/<ids>', api_func='operate_rule.r_delete', methods=['DELETE'])
  42. add_rule_api(operate_rule.blueprints, '/<ids>', api_func='operate_rule.r_get', methods=['GET'])
  43. add_rule_api(operate_rule.blueprints, '', api_func='operate_rule.r_get_by_filter', methods=['GET'])
  44. add_rule_api(operate_rule.blueprints, '/_search', api_func='operate_rule.r_content_search', methods=['GET'])
  45. # 系统模板操作
  46. add_rule_api(os_template.blueprint, '', api_func='os_template.r_create', methods=['POST'])
  47. add_rule_api(os_template.blueprint, '/<_id>', api_func='os_template.r_update', methods=['PATCH'])
  48. add_rule_api(os_template.blueprints, '/<ids>', api_func='os_template.r_delete', methods=['DELETE'])
  49. add_rule_api(os_template.blueprints, '/<ids>', api_func='os_template.r_get', methods=['GET'])
  50. add_rule_api(os_template.blueprints, '', api_func='os_template.r_get_by_filter', methods=['GET'])
  51. add_rule_api(os_template.blueprints, '/_search', api_func='os_template.r_content_search', methods=['GET'])
  52. # Guest操作
  53. # 创建虚拟机
  54. add_rule_api(guest.blueprint, '', api_func='guest.r_create', methods=['POST'])
  55. add_rule_api(guest.blueprints, '/_reboot/<uuids>', api_func='guest.r_reboot', methods=['PUT'])
  56. add_rule_api(guest.blueprints, '/_force_reboot/<uuids>', api_func='guest.r_force_reboot', methods=['PUT'])
  57. add_rule_api(guest.blueprints, '/_shutdown/<uuids>', api_func='guest.r_shutdown', methods=['PUT'])
  58. add_rule_api(guest.blueprints, '/_force_shutdown/<uuids>', api_func='guest.r_force_shutdown', methods=['PUT'])
  59. add_rule_api(guest.blueprints, '/_boot/<uuids>', api_func='guest.r_boot', methods=['PUT'])
  60. add_rule_api(guest.blueprints, '/_suspend/<uuids>', api_func='guest.r_suspend', methods=['PUT'])
  61. add_rule_api(guest.blueprints, '/_resume/<uuids>', api_func='guest.r_resume', methods=['PUT'])
  62. add_rule_api(guest.blueprint, '/_attach_disk/<uuid>/<disk_uuid>', api_func='guest.r_attach_disk', methods=['PUT'])
  63. add_rule_api(guest.blueprint, '/_detach_disk/<disk_uuid>', api_func='guest.r_detach_disk', methods=['PUT'])
  64. add_rule_api(guest.blueprints, '/_migrate/<uuids>/<destination_host>', api_func='guest.r_migrate', methods=['PUT'])
  65. add_rule_api(guest.blueprints, '/<uuids>', api_func='guest.r_get', methods=['GET'])
  66. add_rule_api(guest.blueprints, '', api_func='guest.r_get_by_filter', methods=['GET'])
  67. add_rule_api(guest.blueprints, '/_search', api_func='guest.r_content_search', methods=['GET'])
  68. add_rule_api(guest.blueprint, '/<uuid>', api_func='guest.r_update', methods=['PATCH'])
  69. add_rule_api(guest.blueprints, '/<uuids>', api_func='guest.r_delete', methods=['DELETE'])
  70. add_rule_api(guest.blueprints, '/_boot_jobs/<uuids>/<boot_jobs_id>', api_func='guest.r_add_boot_jobs', methods=['PUT'])
  71. add_rule_api(guest.blueprints, '/_boot_jobs/<uuids>', api_func='guest.r_get_boot_jobs', methods=['GET'])
  72. add_rule_api(guest.blueprints, '/_boot_jobs/<uuids>/<boot_jobs_id>', api_func='guest.r_delete_boot_jobs',
  73. methods=['DELETE'])
  74. add_rule_api(guest.blueprints, '/_boot_jobs/uuids', api_func='guest.r_get_uuids_of_all_had_boot_job', methods=['GET'])
  75. add_rule_api(guest.blueprints, '/_reset_password/<uuids>/<password>', api_func='guest.r_reset_password',
  76. methods=['PUT'])
  77. add_rule_api(guest.blueprints, '/_distribute_count', api_func='guest.r_distribute_count', methods=['GET'])
  78. # Disk操作
  79. add_rule_api(disk.blueprint, '', api_func='disk.r_create', methods=['POST'])
  80. add_rule_api(disk.blueprint, '/_disk_resize/<uuid>/<size>', api_func='disk.r_resize', methods=['PUT'])
  81. add_rule_api(disk.blueprints, '/<uuids>', api_func='disk.r_delete', methods=['DELETE'])
  82. add_rule_api(disk.blueprints, '/<uuids>', api_func='disk.r_update', methods=['PATCH'])
  83. add_rule_api(disk.blueprints, '/<uuids>', api_func='disk.r_get', methods=['GET'])
  84. add_rule_api(disk.blueprints, '', api_func='disk.r_get_by_filter', methods=['GET'])
  85. add_rule_api(disk.blueprints, '/_search', api_func='disk.r_content_search', methods=['GET'])
  86. add_rule_api(disk.blueprints, '/_distribute_count', api_func='disk.r_distribute_count', methods=['GET'])
  87. # 日志查询
  88. # 系统模板操作
  89. add_rule_api(log.blueprints, '/<ids>', api_func='log.r_get', methods=['GET'])
  90. add_rule_api(log.blueprints, '', api_func='log.r_get_by_filter', methods=['GET'])
  91. add_rule_api(log.blueprints, '/_search', api_func='log.r_content_search', methods=['GET'])
  92. # 宿主机查询
  93. add_rule_api(host.blueprints, '/<nodes_id>', api_func='host.r_get', methods=['GET'])
  94. add_rule_api(host.blueprints, '', api_func='host.r_get_by_filter', methods=['GET'])
  95. add_rule_api(host.blueprints, '/_search', api_func='host.r_content_search', methods=['GET'])
  96. add_rule_api(host.blueprints, '/<nodes_id>', api_func='host.r_delete', methods=['DELETE'])
  97. # Guest 性能查询
  98. add_rule_api(performance.blueprint, '/cpu_memory', api_func='performance.r_cpu_memory_get_by_filter', methods=['GET'])
  99. add_rule_api(performance.blueprint, '/traffic', api_func='performance.r_traffic_get_by_filter', methods=['GET'])
  100. add_rule_api(performance.blueprint, '/disk_io', api_func='performance.r_disk_io_get_by_filter', methods=['GET'])
  101. add_rule_api(performance.blueprint, '/cpu_memory/last_hour/<uuid>',
  102. api_func='performance.r_cpu_memory_last_hour', methods=['GET'])
  103. add_rule_api(performance.blueprint, '/cpu_memory/last_six_hours/<uuid>',
  104. api_func='performance.r_cpu_memory_last_six_hours', methods=['GET'])
  105. add_rule_api(performance.blueprint, '/cpu_memory/last_day/<uuid>',
  106. api_func='performance.r_cpu_memory_last_day', methods=['GET'])
  107. add_rule_api(performance.blueprint, '/cpu_memory/last_seven_days/<uuid>',
  108. api_func='performance.r_cpu_memory_last_seven_days', methods=['GET'])
  109. add_rule_api(performance.blueprint, '/traffic/last_hour/<uuid>',
  110. api_func='performance.r_traffic_last_hour', methods=['GET'])
  111. add_rule_api(performance.blueprint, '/traffic/last_six_hours/<uuid>',
  112. api_func='performance.r_traffic_last_six_hours', methods=['GET'])
  113. add_rule_api(performance.blueprint, '/traffic/last_day/<uuid>',
  114. api_func='performance.r_traffic_last_day', methods=['GET'])
  115. add_rule_api(performance.blueprint, '/traffic/last_seven_days/<uuid>',
  116. api_func='performance.r_traffic_last_seven_days', methods=['GET'])
  117. add_rule_api(performance.blueprint, '/disk_io/last_hour/<uuid>',
  118. api_func='performance.r_disk_io_last_hour', methods=['GET'])
  119. add_rule_api(performance.blueprint, '/disk_io/last_six_hours/<uuid>',
  120. api_func='performance.r_disk_io_last_six_hours', methods=['GET'])
  121. add_rule_api(performance.blueprint, '/disk_io/last_day/<uuid>',
  122. api_func='performance.r_disk_io_last_day', methods=['GET'])
  123. add_rule_api(performance.blueprint, '/disk_io/last_seven_days/<uuid>',
  124. api_func='performance.r_disk_io_last_seven_days', methods=['GET'])
  125. add_rule_api(performance.blueprint, '/_current_top_10',
  126. api_func='performance.r_current_top_10', methods=['GET'])
  127. add_rule_api(performance.blueprint, '/_last_10_minutes_top_10',
  128. api_func='performance.r_last_10_minutes_top_10', methods=['GET'])
  129. add_rule_api(performance.blueprint, '/_last_hour_top_10',
  130. api_func='performance.r_last_hour_top_10', methods=['GET'])
  131. add_rule_api(performance.blueprint, '/_last_six_hours_top_10',
  132. api_func='performance.r_last_six_hours_top_10', methods=['GET'])
  133. add_rule_api(performance.blueprint, '/_last_day_top_10',
  134. api_func='performance.r_last_day_top_10', methods=['GET'])
  135. # Host 性能查询
  136. add_rule_api(host_performance.blueprint, '/cpu_memory', api_func='host_performance.r_cpu_memory_get_by_filter',
  137. methods=['GET'])
  138. add_rule_api(host_performance.blueprint, '/traffic', api_func='host_performance.r_traffic_get_by_filter',
  139. methods=['GET'])
  140. add_rule_api(host_performance.blueprint, '/disk_io', api_func='host_performance.r_disk_usage_io_get_by_filter',
  141. methods=['GET'])
  142. add_rule_api(host_performance.blueprint, '/cpu_memory/last_hour/<node_id>',
  143. api_func='host_performance.r_cpu_memory_last_hour', methods=['GET'])
  144. add_rule_api(host_performance.blueprint, '/cpu_memory/last_six_hours/<node_id>',
  145. api_func='host_performance.r_cpu_memory_last_six_hours', methods=['GET'])
  146. add_rule_api(host_performance.blueprint, '/cpu_memory/last_day/<node_id>',
  147. api_func='host_performance.r_cpu_memory_last_day', methods=['GET'])
  148. add_rule_api(host_performance.blueprint, '/cpu_memory/last_seven_days/<node_id>',
  149. api_func='host_performance.r_cpu_memory_last_seven_days', methods=['GET'])
  150. add_rule_api(host_performance.blueprint, '/traffic/last_hour/<node_id>/<nic_name>',
  151. api_func='host_performance.r_traffic_last_hour', methods=['GET'])
  152. add_rule_api(host_performance.blueprint, '/traffic/last_six_hours/<node_id>/<nic_name>',
  153. api_func='host_performance.r_traffic_last_six_hours', methods=['GET'])
  154. add_rule_api(host_performance.blueprint, '/traffic/last_day/<node_id>/<nic_name>',
  155. api_func='host_performance.r_traffic_last_day', methods=['GET'])
  156. add_rule_api(host_performance.blueprint, '/traffic/last_seven_days/<node_id>/<nic_name>',
  157. api_func='host_performance.r_traffic_last_seven_days', methods=['GET'])
  158. add_rule_api(host_performance.blueprint, '/disk_io/last_hour/<node_id>/<path:mountpoint>',
  159. api_func='host_performance.r_disk_usage_io_last_hour', methods=['GET'])
  160. add_rule_api(host_performance.blueprint, '/disk_io/last_six_hours/<node_id>/<mountpoint>',
  161. api_func='host_performance.r_disk_usage_io_last_six_hours', methods=['GET'])
  162. add_rule_api(host_performance.blueprint, '/disk_io/last_day/<node_id>/<mountpoint>',
  163. api_func='host_performance.r_disk_usage_io_last_day', methods=['GET'])
  164. add_rule_api(host_performance.blueprint, '/disk_io/last_seven_days/<node_id>/<mountpoint>',
  165. api_func='host_performance.r_disk_usage_io_last_seven_days', methods=['GET'])
  166. add_rule_api(host_performance.blueprint, '/_current_top_10',
  167. api_func='host_performance.r_current_top_10', methods=['GET'])
  168. add_rule_api(host_performance.blueprint, '/_last_10_minutes_top_10',
  169. api_func='host_performance.r_last_10_minutes_top_10', methods=['GET'])
  170. add_rule_api(host_performance.blueprint, '/_last_hour_top_10',
  171. api_func='host_performance.r_last_hour_top_10', methods=['GET'])
  172. add_rule_api(host_performance.blueprint, '/_last_six_hours_top_10',
  173. api_func='host_performance.r_last_six_hours_top_10', methods=['GET'])
  174. add_rule_api(host_performance.blueprint, '/_last_day_top_10',
  175. api_func='host_performance.r_last_day_top_10', methods=['GET'])