proxy-host-object.json 3.1 KB

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