fields_schema_v2.json 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. {
  2. "$schema": "http://json-schema.org/draft-04/schema#",
  3. "type": "object",
  4. "id": "fields_schema_v2.json",
  5. "properties": {
  6. "version": {
  7. "enum": [2]
  8. },
  9. "services": {
  10. "id": "#/properties/services",
  11. "type": "object",
  12. "patternProperties": {
  13. "^[a-zA-Z0-9._-]+$": {
  14. "$ref": "service_schema_v2.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. },
  44. "volume": {
  45. "id": "#/definitions/volume",
  46. "type": ["object", "null"],
  47. "properties": {
  48. "driver": {"type": "string"},
  49. "driver_opts": {
  50. "type": "object",
  51. "patternProperties": {
  52. "^.+$": {"type": ["string", "number"]}
  53. }
  54. },
  55. "external": {
  56. "type": ["boolean", "object"],
  57. "properties": {
  58. "name": {"type": "string"}
  59. }
  60. },
  61. "additionalProperties": false
  62. },
  63. "additionalProperties": false
  64. }
  65. },
  66. "additionalProperties": false
  67. }