service_schema.json 748 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. {
  2. "$schema": "http://json-schema.org/draft-04/schema#",
  3. "type": "object",
  4. "properties": {
  5. "name": {"type": "string"}
  6. },
  7. "required": ["name"],
  8. "allOf": [
  9. {"$ref": "fields_schema.json#/definitions/service"},
  10. {"$ref": "#/definitions/service_constraints"}
  11. ],
  12. "definitions": {
  13. "service_constraints": {
  14. "anyOf": [
  15. {
  16. "required": ["build"],
  17. "not": {"required": ["image"]}
  18. },
  19. {
  20. "required": ["image"],
  21. "not": {"anyOf": [
  22. {"required": ["build"]},
  23. {"required": ["dockerfile"]}
  24. ]}
  25. },
  26. {
  27. "required": ["extends"],
  28. "not": {"required": ["build", "image"]}
  29. }
  30. ]
  31. }
  32. }
  33. }