streams.json 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. {
  2. "$schema": "http://json-schema.org/draft-07/schema#",
  3. "$id": "endpoints/streams",
  4. "title": "Streams",
  5. "description": "Endpoints relating to Streams",
  6. "stability": "stable",
  7. "type": "object",
  8. "definitions": {
  9. "id": {
  10. "$ref": "../definitions.json#/definitions/id"
  11. },
  12. "created_on": {
  13. "$ref": "../definitions.json#/definitions/created_on"
  14. },
  15. "modified_on": {
  16. "$ref": "../definitions.json#/definitions/modified_on"
  17. },
  18. "incoming_port": {
  19. "type": "integer",
  20. "minimum": 1,
  21. "maximum": 65535
  22. },
  23. "forwarding_host": {
  24. "type": "string",
  25. "minLength": 1,
  26. "maxLength": 255
  27. },
  28. "forwarding_port": {
  29. "type": "integer",
  30. "minimum": 1,
  31. "maximum": 65535
  32. },
  33. "tcp_forwarding": {
  34. "type": "boolean"
  35. },
  36. "udp_forwarding": {
  37. "type": "boolean"
  38. },
  39. "enabled": {
  40. "$ref": "../definitions.json#/definitions/enabled"
  41. },
  42. "meta": {
  43. "type": "object"
  44. }
  45. },
  46. "properties": {
  47. "id": {
  48. "$ref": "#/definitions/id"
  49. },
  50. "created_on": {
  51. "$ref": "#/definitions/created_on"
  52. },
  53. "modified_on": {
  54. "$ref": "#/definitions/modified_on"
  55. },
  56. "incoming_port": {
  57. "$ref": "#/definitions/incoming_port"
  58. },
  59. "forwarding_host": {
  60. "$ref": "#/definitions/forwarding_host"
  61. },
  62. "forwarding_port": {
  63. "$ref": "#/definitions/forwarding_port"
  64. },
  65. "tcp_forwarding": {
  66. "$ref": "#/definitions/tcp_forwarding"
  67. },
  68. "udp_forwarding": {
  69. "$ref": "#/definitions/udp_forwarding"
  70. },
  71. "enabled": {
  72. "$ref": "#/definitions/enabled"
  73. },
  74. "meta": {
  75. "$ref": "#/definitions/meta"
  76. }
  77. },
  78. "links": [
  79. {
  80. "title": "List",
  81. "description": "Returns a list of Steams",
  82. "href": "/nginx/streams",
  83. "access": "private",
  84. "method": "GET",
  85. "rel": "self",
  86. "http_header": {
  87. "$ref": "../examples.json#/definitions/auth_header"
  88. },
  89. "targetSchema": {
  90. "type": "array",
  91. "items": {
  92. "$ref": "#/properties"
  93. }
  94. }
  95. },
  96. {
  97. "title": "Create",
  98. "description": "Creates a new Stream",
  99. "href": "/nginx/streams",
  100. "access": "private",
  101. "method": "POST",
  102. "rel": "create",
  103. "http_header": {
  104. "$ref": "../examples.json#/definitions/auth_header"
  105. },
  106. "schema": {
  107. "type": "object",
  108. "additionalProperties": false,
  109. "required": [
  110. "incoming_port",
  111. "forwarding_host",
  112. "forwarding_port"
  113. ],
  114. "properties": {
  115. "incoming_port": {
  116. "$ref": "#/definitions/incoming_port"
  117. },
  118. "forwarding_host": {
  119. "$ref": "#/definitions/forwarding_host"
  120. },
  121. "forwarding_port": {
  122. "$ref": "#/definitions/forwarding_port"
  123. },
  124. "tcp_forwarding": {
  125. "$ref": "#/definitions/tcp_forwarding"
  126. },
  127. "udp_forwarding": {
  128. "$ref": "#/definitions/udp_forwarding"
  129. },
  130. "meta": {
  131. "$ref": "#/definitions/meta"
  132. }
  133. }
  134. },
  135. "targetSchema": {
  136. "properties": {
  137. "$ref": "#/properties"
  138. }
  139. }
  140. },
  141. {
  142. "title": "Update",
  143. "description": "Updates a existing Stream",
  144. "href": "/nginx/streams/{definitions.identity.example}",
  145. "access": "private",
  146. "method": "PUT",
  147. "rel": "update",
  148. "http_header": {
  149. "$ref": "../examples.json#/definitions/auth_header"
  150. },
  151. "schema": {
  152. "type": "object",
  153. "additionalProperties": false,
  154. "properties": {
  155. "incoming_port": {
  156. "$ref": "#/definitions/incoming_port"
  157. },
  158. "forwarding_host": {
  159. "$ref": "#/definitions/forwarding_host"
  160. },
  161. "forwarding_port": {
  162. "$ref": "#/definitions/forwarding_port"
  163. },
  164. "tcp_forwarding": {
  165. "$ref": "#/definitions/tcp_forwarding"
  166. },
  167. "udp_forwarding": {
  168. "$ref": "#/definitions/udp_forwarding"
  169. },
  170. "meta": {
  171. "$ref": "#/definitions/meta"
  172. }
  173. }
  174. },
  175. "targetSchema": {
  176. "properties": {
  177. "$ref": "#/properties"
  178. }
  179. }
  180. },
  181. {
  182. "title": "Delete",
  183. "description": "Deletes a existing Stream",
  184. "href": "/nginx/streams/{definitions.identity.example}",
  185. "access": "private",
  186. "method": "DELETE",
  187. "rel": "delete",
  188. "http_header": {
  189. "$ref": "../examples.json#/definitions/auth_header"
  190. },
  191. "targetSchema": {
  192. "type": "boolean"
  193. }
  194. },
  195. {
  196. "title": "Enable",
  197. "description": "Enables a existing Stream",
  198. "href": "/nginx/streams/{definitions.identity.example}/enable",
  199. "access": "private",
  200. "method": "POST",
  201. "rel": "update",
  202. "http_header": {
  203. "$ref": "../examples.json#/definitions/auth_header"
  204. },
  205. "targetSchema": {
  206. "type": "boolean"
  207. }
  208. },
  209. {
  210. "title": "Disable",
  211. "description": "Disables a existing Stream",
  212. "href": "/nginx/streams/{definitions.identity.example}/disable",
  213. "access": "private",
  214. "method": "POST",
  215. "rel": "update",
  216. "http_header": {
  217. "$ref": "../examples.json#/definitions/auth_header"
  218. },
  219. "targetSchema": {
  220. "type": "boolean"
  221. }
  222. }
  223. ]
  224. }