proxy-host-object.json 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. {
  2. "type": "object",
  3. "description": "Proxy Host object",
  4. "required": [
  5. "id",
  6. "created_on",
  7. "modified_on",
  8. "owner_user_id",
  9. "domain_names",
  10. "forward_host",
  11. "forward_port",
  12. "access_list_id",
  13. "certificate_id",
  14. "ssl_forced",
  15. "caching_enabled",
  16. "block_exploits",
  17. "advanced_config",
  18. "meta",
  19. "allow_websocket_upgrade",
  20. "http2_support",
  21. "forward_scheme",
  22. "enabled",
  23. "locations",
  24. "hsts_enabled",
  25. "hsts_subdomains"
  26. ],
  27. "additionalProperties": false,
  28. "properties": {
  29. "id": {
  30. "$ref": "../common.json#/properties/id"
  31. },
  32. "created_on": {
  33. "$ref": "../common.json#/properties/created_on"
  34. },
  35. "modified_on": {
  36. "$ref": "../common.json#/properties/modified_on"
  37. },
  38. "owner_user_id": {
  39. "$ref": "../common.json#/properties/user_id"
  40. },
  41. "domain_names": {
  42. "$ref": "../common.json#/properties/domain_names"
  43. },
  44. "forward_host": {
  45. "type": "string",
  46. "minLength": 1,
  47. "maxLength": 255
  48. },
  49. "forward_port": {
  50. "type": "integer",
  51. "minimum": 1,
  52. "maximum": 65535
  53. },
  54. "access_list_id": {
  55. "$ref": "../common.json#/properties/access_list_id"
  56. },
  57. "certificate_id": {
  58. "$ref": "../common.json#/properties/certificate_id"
  59. },
  60. "ssl_forced": {
  61. "$ref": "../common.json#/properties/ssl_forced"
  62. },
  63. "caching_enabled": {
  64. "$ref": "../common.json#/properties/caching_enabled"
  65. },
  66. "block_exploits": {
  67. "$ref": "../common.json#/properties/block_exploits"
  68. },
  69. "advanced_config": {
  70. "type": "string"
  71. },
  72. "meta": {
  73. "type": "object"
  74. },
  75. "allow_websocket_upgrade": {
  76. "description": "Allow Websocket Upgrade for all paths",
  77. "example": true,
  78. "type": "boolean"
  79. },
  80. "http2_support": {
  81. "$ref": "../common.json#/properties/http2_support"
  82. },
  83. "forward_scheme": {
  84. "type": "string",
  85. "enum": ["http", "https"]
  86. },
  87. "enabled": {
  88. "$ref": "../common.json#/properties/enabled"
  89. },
  90. "locations": {
  91. "type": "array",
  92. "minItems": 0,
  93. "items": {
  94. "type": "object",
  95. "required": ["forward_scheme", "forward_host", "forward_port", "path"],
  96. "additionalProperties": false,
  97. "properties": {
  98. "id": {
  99. "type": ["integer", "null"]
  100. },
  101. "path": {
  102. "type": "string",
  103. "minLength": 1
  104. },
  105. "forward_scheme": {
  106. "$ref": "#/properties/forward_scheme"
  107. },
  108. "forward_host": {
  109. "$ref": "#/properties/forward_host"
  110. },
  111. "forward_port": {
  112. "$ref": "#/properties/forward_port"
  113. },
  114. "forward_path": {
  115. "type": "string"
  116. },
  117. "advanced_config": {
  118. "type": "string"
  119. }
  120. }
  121. }
  122. },
  123. "hsts_enabled": {
  124. "$ref": "../common.json#/properties/hsts_enabled"
  125. },
  126. "hsts_subdomains": {
  127. "$ref": "../common.json#/properties/hsts_subdomains"
  128. },
  129. "certificate": {
  130. "oneOf": [
  131. {
  132. "type": "null"
  133. },
  134. {
  135. "$ref": "./certificate-object.json"
  136. }
  137. ]
  138. },
  139. "owner": {
  140. "$ref": "./user-object.json"
  141. },
  142. "access_list": {
  143. "oneOf": [
  144. {
  145. "type": "null"
  146. },
  147. {
  148. "$ref": "./access-list-object.json"
  149. }
  150. ]
  151. }
  152. }
  153. }