api_route_table.py 5.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  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 guest
  6. from api import disk
  7. from api import os_init
  8. from api import os_init_write
  9. from api import os_template
  10. from api import log
  11. from api import host
  12. __author__ = 'James Iter'
  13. __date__ = '2017/03/30'
  14. __contact__ = 'james.iter.cn@gmail.com'
  15. __copyright__ = '(c) 2017 by James Iter.'
  16. # JimV 配置操作
  17. add_rule_api(config.blueprint, '', api_func='config.r_create', methods=['POST'])
  18. # 只有一条记录,所以不指定 id
  19. add_rule_api(config.blueprint, '', api_func='config.r_update', methods=['PATCH'])
  20. add_rule_api(config.blueprint, '', api_func='config.r_get', methods=['GET'])
  21. # 系统初始化配置操作
  22. add_rule_api(os_init.blueprint, '', api_func='os_init.r_create', methods=['POST'])
  23. add_rule_api(os_init.blueprint, '/<_id>', api_func='os_init.r_update', methods=['PATCH'])
  24. add_rule_api(os_init.blueprints, '/<ids>', api_func='os_init.r_delete', methods=['DELETE'])
  25. add_rule_api(os_init.blueprints, '/<ids>', api_func='os_init.r_get', methods=['GET'])
  26. add_rule_api(os_init.blueprints, '', api_func='os_init.r_get_by_filter', methods=['GET'])
  27. add_rule_api(os_init.blueprints, '/_search', api_func='os_init.r_content_search', methods=['GET'])
  28. add_rule_api(os_init_write.blueprint, '', api_func='os_init_write.r_create', methods=['POST'])
  29. add_rule_api(os_init_write.blueprint, '/<_id>', api_func='os_init_write.r_update', methods=['PATCH'])
  30. add_rule_api(os_init_write.blueprints, '/<ids>', api_func='os_init_write.r_delete', methods=['DELETE'])
  31. add_rule_api(os_init_write.blueprints, '/<ids>', api_func='os_init_write.r_get', methods=['GET'])
  32. add_rule_api(os_init_write.blueprints, '', api_func='os_init_write.r_get_by_filter', methods=['GET'])
  33. add_rule_api(os_init_write.blueprints, '/_search', api_func='os_init_write.r_content_search', methods=['GET'])
  34. # 系统模板操作
  35. add_rule_api(os_template.blueprint, '', api_func='os_template.r_create', methods=['POST'])
  36. add_rule_api(os_template.blueprint, '/<_id>', api_func='os_template.r_update', methods=['PATCH'])
  37. add_rule_api(os_template.blueprints, '/<ids>', api_func='os_template.r_delete', methods=['DELETE'])
  38. add_rule_api(os_template.blueprints, '/<ids>', api_func='os_template.r_get', methods=['GET'])
  39. add_rule_api(os_template.blueprints, '', api_func='os_template.r_get_by_filter', methods=['GET'])
  40. add_rule_api(os_template.blueprints, '/_search', api_func='os_template.r_content_search', methods=['GET'])
  41. # Guest操作
  42. # 创建虚拟机
  43. add_rule_api(guest.blueprint, '', api_func='guest.r_create', methods=['POST'])
  44. add_rule_api(guest.blueprints, '/_reboot/<uuids>', api_func='guest.r_reboot', methods=['PUT'])
  45. add_rule_api(guest.blueprints, '/_force_reboot/<uuids>', api_func='guest.r_force_reboot', methods=['PUT'])
  46. add_rule_api(guest.blueprints, '/_shutdown/<uuids>', api_func='guest.r_shutdown', methods=['PUT'])
  47. add_rule_api(guest.blueprints, '/_force_shutdown/<uuids>', api_func='guest.r_force_shutdown', methods=['PUT'])
  48. add_rule_api(guest.blueprints, '/_boot/<uuids>', api_func='guest.r_boot', methods=['PUT'])
  49. add_rule_api(guest.blueprints, '/_suspend/<uuids>', api_func='guest.r_suspend', methods=['PUT'])
  50. add_rule_api(guest.blueprints, '/_resume/<uuids>', api_func='guest.r_resume', methods=['PUT'])
  51. add_rule_api(guest.blueprint, '/_attach_disk/<uuid>/<disk_uuid>', api_func='guest.r_attach_disk', methods=['PUT'])
  52. add_rule_api(guest.blueprint, '/_detach_disk/<disk_uuid>', api_func='guest.r_detach_disk', methods=['PUT'])
  53. add_rule_api(guest.blueprints, '/_migrate/<uuids>/<destination_host>', api_func='guest.r_migrate', methods=['PUT'])
  54. add_rule_api(guest.blueprints, '/<uuids>', api_func='guest.r_get', methods=['GET'])
  55. add_rule_api(guest.blueprints, '', api_func='guest.r_get_by_filter', methods=['GET'])
  56. add_rule_api(guest.blueprints, '/_search', api_func='guest.r_content_search', methods=['GET'])
  57. add_rule_api(guest.blueprint, '/<uuid>', api_func='guest.r_update', methods=['PATCH'])
  58. add_rule_api(guest.blueprints, '/<uuids>', api_func='guest.r_delete', methods=['DELETE'])
  59. # Disk操作
  60. add_rule_api(disk.blueprint, '', api_func='disk.r_create', methods=['POST'])
  61. add_rule_api(disk.blueprint, '/_disk_resize/<uuid>/<size>', api_func='disk.r_resize', methods=['PUT'])
  62. add_rule_api(disk.blueprints, '/<uuids>', api_func='disk.r_delete', methods=['DELETE'])
  63. add_rule_api(disk.blueprint, '/<uuid>', api_func='disk.r_update', methods=['PATCH'])
  64. add_rule_api(disk.blueprints, '/<uuids>', api_func='disk.r_get', methods=['GET'])
  65. add_rule_api(disk.blueprints, '', api_func='disk.r_get_by_filter', methods=['GET'])
  66. add_rule_api(disk.blueprints, '/_search', api_func='disk.r_content_search', methods=['GET'])
  67. # 日志查询
  68. # 系统模板操作
  69. add_rule_api(log.blueprints, '/<ids>', api_func='log.r_get', methods=['GET'])
  70. add_rule_api(log.blueprints, '', api_func='log.r_get_by_filter', methods=['GET'])
  71. add_rule_api(log.blueprints, '/_search', api_func='log.r_content_search', methods=['GET'])
  72. # 宿主机查询
  73. add_rule_api(host.blueprints, '/<ids>', api_func='host.r_get', methods=['GET'])
  74. add_rule_api(host.blueprints, '', api_func='host.r_get_by_filter', methods=['GET'])
  75. add_rule_api(host.blueprints, '/_search', api_func='host.r_content_search', methods=['GET'])