{"oneOf": [{"not": {"required": ["depends-on-either"]}, "required": ["namespace", "package", "version"]}, {"not": {"anyOf": [{"required": ["namespace"]}, {"required": ["package"]}, {"required": ["version"]}]}, "required": ["depends-on-either"]}], "type": "object", "properties": {"depends-on-either": {"additionalProperties": false, "required": ["namespace", "package", "version"], "type": "array", "properties": {"version": {"type": "string"}, "namespace": {"type": "string"}, "package": {"type": "string"}}}, "version": {"type": "string"}, "namespace": {"type": "string"}, "package": {"type": "string"}}}