stream-object.json 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. {
  2. "type": "object",
  3. "description": "Stream object",
  4. "required": ["id", "created_on", "modified_on", "owner_user_id", "incoming_port", "forwarding_host", "forwarding_port", "tcp_forwarding", "udp_forwarding", "enabled", "meta"],
  5. "additionalProperties": false,
  6. "properties": {
  7. "id": {
  8. "$ref": "../common.json#/properties/id"
  9. },
  10. "created_on": {
  11. "$ref": "../common.json#/properties/created_on"
  12. },
  13. "modified_on": {
  14. "$ref": "../common.json#/properties/modified_on"
  15. },
  16. "owner_user_id": {
  17. "$ref": "../common.json#/properties/user_id"
  18. },
  19. "incoming_port": {
  20. "type": "integer",
  21. "minimum": 1,
  22. "maximum": 65535
  23. },
  24. "forwarding_host": {
  25. "anyOf": [
  26. {
  27. "description": "Domain Name",
  28. "example": "jc21.com",
  29. "type": "string",
  30. "pattern": "^(?:[^.*]+\\.?)+[^.]$"
  31. },
  32. {
  33. "type": "string",
  34. "format": "ipv4"
  35. },
  36. {
  37. "type": "string",
  38. "format": "ipv6"
  39. }
  40. ]
  41. },
  42. "forwarding_port": {
  43. "type": "integer",
  44. "minimum": 1,
  45. "maximum": 65535
  46. },
  47. "tcp_forwarding": {
  48. "type": "boolean"
  49. },
  50. "udp_forwarding": {
  51. "type": "boolean"
  52. },
  53. "enabled": {
  54. "$ref": "../common.json#/properties/enabled"
  55. },
  56. "certificate_id": {
  57. "$ref": "../common.json#/properties/certificate_id"
  58. },
  59. "meta": {
  60. "type": "object"
  61. },
  62. "owner": {
  63. "$ref": "./user-object.json"
  64. },
  65. "certificate": {
  66. "oneOf": [
  67. {
  68. "type": "null"
  69. },
  70. {
  71. "$ref": "./certificate-object.json"
  72. }
  73. ]
  74. }
  75. }
  76. }