common.json 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. {
  2. "$schema": "https://json-schema.org/draft/2020-12/schema",
  3. "$id": "common",
  4. "type": "object",
  5. "properties": {
  6. "id": {
  7. "description": "Unique identifier",
  8. "readOnly": true,
  9. "type": "integer",
  10. "minimum": 1
  11. },
  12. "expand": {
  13. "anyOf": [
  14. {
  15. "type": "null"
  16. },
  17. {
  18. "type": "array",
  19. "minItems": 1,
  20. "items": {
  21. "type": "string"
  22. }
  23. }
  24. ]
  25. },
  26. "query": {
  27. "anyOf": [
  28. {
  29. "type": "null"
  30. },
  31. {
  32. "type": "string",
  33. "minLength": 1,
  34. "maxLength": 255
  35. }
  36. ]
  37. },
  38. "created_on": {
  39. "description": "Date and time of creation",
  40. "readOnly": true,
  41. "type": "string"
  42. },
  43. "modified_on": {
  44. "description": "Date and time of last update",
  45. "readOnly": true,
  46. "type": "string"
  47. },
  48. "user_id": {
  49. "description": "User ID",
  50. "type": "integer",
  51. "minimum": 1
  52. },
  53. "certificate_id": {
  54. "description": "Certificate ID",
  55. "anyOf": [
  56. {
  57. "type": "integer",
  58. "minimum": 0
  59. },
  60. {
  61. "type": "string",
  62. "pattern": "^new$"
  63. }
  64. ]
  65. },
  66. "access_list_id": {
  67. "description": "Access List ID",
  68. "type": "integer",
  69. "minimum": 0
  70. },
  71. "domain_names": {
  72. "description": "Domain Names separated by a comma",
  73. "type": "array",
  74. "minItems": 1,
  75. "maxItems": 100,
  76. "uniqueItems": true,
  77. "items": {
  78. "type": "string",
  79. "pattern": "^[^&| @!#%^();:/\\\\}{=+?<>,~`'\"]+$"
  80. }
  81. },
  82. "enabled": {
  83. "description": "Is Enabled",
  84. "type": "boolean"
  85. },
  86. "ssl_forced": {
  87. "description": "Is SSL Forced",
  88. "type": "boolean"
  89. },
  90. "hsts_enabled": {
  91. "description": "Is HSTS Enabled",
  92. "type": "boolean"
  93. },
  94. "hsts_subdomains": {
  95. "description": "Is HSTS applicable to all subdomains",
  96. "type": "boolean"
  97. },
  98. "ssl_provider": {
  99. "type": "string",
  100. "pattern": "^(letsencrypt|other)$"
  101. },
  102. "http2_support": {
  103. "description": "HTTP2 Protocol Support",
  104. "type": "boolean"
  105. },
  106. "block_exploits": {
  107. "description": "Should we block common exploits",
  108. "type": "boolean"
  109. },
  110. "caching_enabled": {
  111. "description": "Should we cache assets",
  112. "type": "boolean"
  113. }
  114. }
  115. }