fields_schema_v2.0.json 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. {
  2. "$schema": "http://json-schema.org/draft-04/schema#",
  3. "type": "object",
  4. "id": "fields_schema_v2.0.json",
  5. "properties": {
  6. "version": {
  7. "type": "string"
  8. },
  9. "services": {
  10. "id": "#/properties/services",
  11. "type": "object",
  12. "patternProperties": {
  13. "^[a-zA-Z0-9._-]+$": {
  14. "$ref": "service_schema_v2.0.json#/definitions/service"
  15. }
  16. },
  17. "additionalProperties": false
  18. },
  19. "networks": {
  20. "id": "#/properties/networks",
  21. "type": "object",
  22. "patternProperties": {
  23. "^[a-zA-Z0-9._-]+$": {
  24. "$ref": "#/definitions/network"
  25. }
  26. }
  27. },
  28. "volumes": {
  29. "id": "#/properties/volumes",
  30. "type": "object",
  31. "patternProperties": {
  32. "^[a-zA-Z0-9._-]+$": {
  33. "$ref": "#/definitions/volume"
  34. }
  35. },
  36. "additionalProperties": false
  37. }
  38. },
  39. "definitions": {
  40. "network": {
  41. "id": "#/definitions/network",
  42. "type": "object",
  43. "properties": {
  44. "driver": {"type": "string"},
  45. "driver_opts": {
  46. "type": "object",
  47. "patternProperties": {
  48. "^.+$": {"type": ["string", "number"]}
  49. }
  50. },
  51. "ipam": {
  52. "type": "object",
  53. "properties": {
  54. "driver": {"type": "string"},
  55. "config": {
  56. "type": "array"
  57. }
  58. },
  59. "additionalProperties": false
  60. },
  61. "external": {
  62. "type": ["boolean", "object"],
  63. "properties": {
  64. "name": {"type": "string"}
  65. },
  66. "additionalProperties": false
  67. }
  68. },
  69. "additionalProperties": false
  70. },
  71. "volume": {
  72. "id": "#/definitions/volume",
  73. "type": ["object", "null"],
  74. "properties": {
  75. "driver": {"type": "string"},
  76. "driver_opts": {
  77. "type": "object",
  78. "patternProperties": {
  79. "^.+$": {"type": ["string", "number"]}
  80. }
  81. },
  82. "external": {
  83. "type": ["boolean", "object"],
  84. "properties": {
  85. "name": {"type": "string"}
  86. }
  87. },
  88. "additionalProperties": false
  89. },
  90. "additionalProperties": false
  91. }
  92. },
  93. "additionalProperties": false
  94. }