certificate-object.json 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. {
  2. "type": "object",
  3. "description": "Certificate object",
  4. "required": ["id", "created_on", "modified_on", "owner_user_id", "provider", "nice_name", "domain_names", "expires_on", "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. "provider": {
  20. "$ref": "../common.json#/properties/ssl_provider"
  21. },
  22. "nice_name": {
  23. "type": "string",
  24. "description": "Nice Name for the custom certificate"
  25. },
  26. "domain_names": {
  27. "description": "Domain Names separated by a comma",
  28. "type": "array",
  29. "maxItems": 100,
  30. "uniqueItems": true,
  31. "items": {
  32. "type": "string",
  33. "pattern": "^[^&| @!#%^();:/\\\\}{=+?<>,~`'\"]+$"
  34. }
  35. },
  36. "expires_on": {
  37. "description": "Date and time of expiration",
  38. "readOnly": true,
  39. "type": "string"
  40. },
  41. "owner": {
  42. "$ref": "./user-object.json"
  43. },
  44. "meta": {
  45. "type": "object",
  46. "additionalProperties": false,
  47. "properties": {
  48. "certificate": {
  49. "type": "string",
  50. "minLength": 1
  51. },
  52. "certificate_key": {
  53. "type": "string",
  54. "minLength": 1
  55. },
  56. "dns_challenge": {
  57. "type": "boolean"
  58. },
  59. "dns_provider": {
  60. "type": "string"
  61. },
  62. "dns_provider_credentials": {
  63. "type": "string"
  64. },
  65. "letsencrypt_agree": {
  66. "type": "boolean"
  67. },
  68. "letsencrypt_certificate": {
  69. "type": "object"
  70. },
  71. "letsencrypt_email": {
  72. "$ref": "../common.json#/properties/email"
  73. },
  74. "propagation_seconds": {
  75. "type": "integer",
  76. "minimum": 0
  77. }
  78. }
  79. }
  80. }
  81. }