backup.yaml 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. BackupConfig:
  2. get:
  3. operationId: getBackupConfig
  4. summary: 读取备份配置(密码永不回明文,仅回是否已设置)
  5. parameters:
  6. - $ref: '../components/parameters.yaml#/XRequestId'
  7. responses:
  8. '200':
  9. description: 备份配置回显
  10. content:
  11. application/json:
  12. schema:
  13. $ref: '../components/schemas.yaml#/BackupConfigResponse'
  14. '401':
  15. $ref: '../components/responses.yaml#/AuthenticationError'
  16. '403':
  17. $ref: '../components/responses.yaml#/Forbidden'
  18. '500':
  19. $ref: '../components/responses.yaml#/InternalError'
  20. put:
  21. operationId: updateBackupConfig
  22. summary: 保存备份配置(全字段精确校验;rsync_password 空值保持不变)
  23. parameters:
  24. - $ref: '../components/parameters.yaml#/XRequestId'
  25. requestBody:
  26. required: true
  27. content:
  28. application/json:
  29. schema:
  30. $ref: '../components/schemas.yaml#/UpdateBackupConfigRequest'
  31. responses:
  32. '200':
  33. description: 保存成功后的配置回显
  34. content:
  35. application/json:
  36. schema:
  37. $ref: '../components/schemas.yaml#/BackupConfigResponse'
  38. '400':
  39. $ref: '../components/responses.yaml#/InvalidArgument'
  40. '401':
  41. $ref: '../components/responses.yaml#/AuthenticationError'
  42. '403':
  43. $ref: '../components/responses.yaml#/Forbidden'
  44. '500':
  45. $ref: '../components/responses.yaml#/InternalError'
  46. BackupJobs:
  47. get:
  48. operationId: listBackupHistory
  49. summary: 备份历史列表(按备份ID升序,来自目标根 index.json 摘要)
  50. parameters:
  51. - $ref: '../components/parameters.yaml#/XRequestId'
  52. responses:
  53. '200':
  54. description: 备份历史
  55. content:
  56. application/json:
  57. schema:
  58. $ref: '../components/schemas.yaml#/BackupHistoryResponse'
  59. '401':
  60. $ref: '../components/responses.yaml#/AuthenticationError'
  61. '403':
  62. $ref: '../components/responses.yaml#/Forbidden'
  63. '500':
  64. $ref: '../components/responses.yaml#/InternalError'
  65. '503':
  66. $ref: '../components/responses.yaml#/BackupTargetUnavailable'
  67. post:
  68. operationId: startBackupJob
  69. summary: 手动触发备份(记 BACKUP_CREATE 审计;已有任务运行中返回409)
  70. parameters:
  71. - $ref: '../components/parameters.yaml#/XRequestId'
  72. requestBody:
  73. required: true
  74. content:
  75. application/json:
  76. schema:
  77. $ref: '../components/schemas.yaml#/BackupJobStartRequest'
  78. responses:
  79. '202':
  80. description: 已受理(异步执行,返回初始进度快照)
  81. content:
  82. application/json:
  83. schema:
  84. $ref: '../components/schemas.yaml#/BackupJobStartResponse'
  85. '400':
  86. $ref: '../components/responses.yaml#/InvalidArgument'
  87. '401':
  88. $ref: '../components/responses.yaml#/AuthenticationError'
  89. '403':
  90. $ref: '../components/responses.yaml#/Forbidden'
  91. '409':
  92. $ref: '../components/responses.yaml#/BackupRunning'
  93. '500':
  94. $ref: '../components/responses.yaml#/InternalError'
  95. BackupJobCurrent:
  96. get:
  97. operationId: getBackupJobCurrent
  98. summary: 当前备份任务进度快照(含是否运行中)
  99. parameters:
  100. - $ref: '../components/parameters.yaml#/XRequestId'
  101. responses:
  102. '200':
  103. description: 进度快照
  104. content:
  105. application/json:
  106. schema:
  107. $ref: '../components/schemas.yaml#/BackupJobCurrentResponse'
  108. '401':
  109. $ref: '../components/responses.yaml#/AuthenticationError'
  110. '403':
  111. $ref: '../components/responses.yaml#/Forbidden'
  112. '500':
  113. $ref: '../components/responses.yaml#/InternalError'
  114. BackupJobCancel:
  115. post:
  116. operationId: cancelBackupJob
  117. summary: 取消当前备份任务(中断传输并清理暂存目录)
  118. parameters:
  119. - $ref: '../components/parameters.yaml#/XRequestId'
  120. responses:
  121. '200':
  122. description: 取消请求已受理(无运行任务时返回 canceled=false)
  123. content:
  124. application/json:
  125. schema:
  126. $ref: '../components/schemas.yaml#/BackupCancelResponse'
  127. '401':
  128. $ref: '../components/responses.yaml#/AuthenticationError'
  129. '403':
  130. $ref: '../components/responses.yaml#/Forbidden'
  131. '500':
  132. $ref: '../components/responses.yaml#/InternalError'
  133. BackupTestTarget:
  134. post:
  135. operationId: testBackupTarget
  136. summary: 备份目标连通性测试(探测可写性;记 BACKUP_TEST_TARGET 审计)
  137. parameters:
  138. - $ref: '../components/parameters.yaml#/XRequestId'
  139. responses:
  140. '200':
  141. description: 探测结果(失败不报错,ok=false 携带原因)
  142. content:
  143. application/json:
  144. schema:
  145. $ref: '../components/schemas.yaml#/BackupTestTargetResponse'
  146. '401':
  147. $ref: '../components/responses.yaml#/AuthenticationError'
  148. '403':
  149. $ref: '../components/responses.yaml#/Forbidden'
  150. '500':
  151. $ref: '../components/responses.yaml#/InternalError'