You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

174 lines
4.7 KiB

2 years ago
  1. openapi: 3.1.0
  2. info:
  3. description: The Seaweedfs Master Server API allows you to store blobs
  4. title: Seaweedfs Master Server API
  5. version: 3.43.0
  6. servers:
  7. - url: https://127.0.0.1:9333/
  8. paths:
  9. /dir/assign:
  10. get:
  11. description: This operation is very cheap. Just increase a number in master
  12. server's memory.
  13. operationId: dirAssign
  14. parameters:
  15. - description: "how many file ids to assign. Use <fid>_1, <fid>_2 for the assigned\
  16. \ additional file ids. e.g. 3,01637037d6_1, 3,01637037d6_2"
  17. explode: true
  18. in: query
  19. name: count
  20. required: false
  21. schema:
  22. format: int32
  23. style: form
  24. - description: required collection name
  25. explode: true
  26. in: query
  27. name: collection
  28. required: false
  29. schema: {}
  30. style: form
  31. - description: preferred data center
  32. explode: true
  33. in: query
  34. name: dataCenter
  35. required: false
  36. schema: {}
  37. style: form
  38. - description: preferred rack
  39. explode: true
  40. in: query
  41. name: rack
  42. required: false
  43. schema: {}
  44. style: form
  45. - description: "preferred volume server, e.g. 127.0.0.1:8080"
  46. explode: true
  47. in: query
  48. name: dataNode
  49. required: false
  50. schema: {}
  51. style: form
  52. - description: "If you have disks labelled, this must be supplied to specify\
  53. \ the disk type to allocate on."
  54. explode: true
  55. in: query
  56. name: disk
  57. required: false
  58. schema: {}
  59. style: form
  60. - description: replica placement strategy
  61. explode: true
  62. in: query
  63. name: replication
  64. required: false
  65. schema: {}
  66. style: form
  67. - description: "file expiration time limit, example: 3m for 3 minutes. units:\
  68. \ m-minute, h-hour, d-day, w-week, M-month, y-year"
  69. explode: true
  70. in: query
  71. name: ttl
  72. required: false
  73. schema: {}
  74. style: form
  75. - description: "If no matching volumes, pre-allocate this number of bytes on\
  76. \ disk for new volumes."
  77. explode: true
  78. in: query
  79. name: preallocate
  80. required: false
  81. schema:
  82. format: int64
  83. style: form
  84. - description: Only implemented for windows. Use memory mapped files with specified
  85. size for new volumes.
  86. explode: true
  87. in: query
  88. name: memoryMapMaxSizeMb
  89. required: false
  90. schema:
  91. format: int32
  92. style: form
  93. - description: "If no matching volumes, create specified number of new volumes."
  94. explode: true
  95. in: query
  96. name: writableVolumeCount
  97. required: false
  98. schema:
  99. format: int32
  100. style: form
  101. responses:
  102. "200":
  103. content:
  104. application/json:
  105. schema:
  106. $ref: '#/components/schemas/FileKey'
  107. description: successful operation
  108. summary: Assign a file key
  109. /dir/lookup:
  110. get:
  111. description: We would need to find out whether the volumes have moved.
  112. operationId: dirLookup
  113. parameters:
  114. - description: volume id
  115. explode: true
  116. in: query
  117. name: volumeId
  118. required: false
  119. schema:
  120. format: int32
  121. style: form
  122. - description: optionally to speed up the lookup
  123. explode: true
  124. in: query
  125. name: collection
  126. required: false
  127. schema: {}
  128. style: form
  129. - description: "If provided, this returns the fileId location and a JWT to update\
  130. \ or delete the file."
  131. explode: true
  132. in: query
  133. name: fileId
  134. required: false
  135. schema: {}
  136. style: form
  137. - description: "works together with \"fileId\", if read=yes, JWT is generated\
  138. \ for reads."
  139. explode: true
  140. in: query
  141. name: read
  142. required: false
  143. schema: {}
  144. style: form
  145. responses:
  146. "200":
  147. content:
  148. application/json:
  149. schema:
  150. items:
  151. $ref: '#/components/schemas/Location'
  152. description: successful operation
  153. summary: Lookup volume
  154. components:
  155. schemas:
  156. FileKey:
  157. example:
  158. fid: "3,01637037d6"
  159. count: 10
  160. url: 127.0.0.1:8080
  161. properties:
  162. count:
  163. example: 10
  164. format: int64
  165. fid:
  166. example: "3,01637037d6"
  167. url:
  168. example: 127.0.0.1:8080
  169. Location:
  170. properties:
  171. publicUrl:
  172. example: localhost:8080
  173. url:
  174. example: localhost:8080