{
    "$schema": "http://json-schema.org/draft-07/schema",
    "required": [
        "config",
        "inputs"
    ],
    "type": "object",
    "properties": {
        "inputs": {
            "required": [
                "dicom",
                "file"
            ],
            "type": "object",
            "properties": {
                "dicom": {
                    "type": "object",
                    "properties": {
                        "type": {
                            "enum": [
                                "dicom"
                            ]
                        }
                    }
                },
                "file": {
                    "type": "object",
                    "properties": {}
                },
                "text": {
                    "type": "object",
                    "properties": {
                        "size": {
                            "maximum": 100000
                        },
                        "name": {
                            "pattern": "^.*.txt$"
                        }
                    }
                }
            }
        },
        "config": {
            "required": [
                "multiple",
                "string",
                "number",
                "phone",
                "boolean",
                "integer",
                "string2"
            ],
            "type": "object",
            "properties": {
                "multiple": {
                    "exclusiveMaximum": 100,
                    "default": 20,
                    "multipleOf": 10,
                    "type": "number"
                },
                "string": {
                    "default": "Example",
                    "type": "string"
                },
                "number": {
                    "default": 3.5,
                    "type": "number"
                },
                "phone": {
                    "default": "555-5555",
                    "pattern": "^[0-9]{3}-[0-9]{4}$",
                    "type": "string"
                },
                "boolean": {
                    "default": true,
                    "type": "boolean"
                },
                "integer": {
                    "default": 7,
                    "type": "integer"
                },
                "string2": {
                    "default": "Example 2",
                    "minLength": 2,
                    "type": "string",
                    "maxLength": 15
                }
            }
        }
    },
    "title": "Invocation manifest for Flywheel Example Gear"
}