{
    "definitions": {},
    "description": "Full analysis specification including data, sofware, environment and workflow enabling reproducibility on a REANA cluster.",
    "properties": {
        "environments": {
            "_id": "/properties/environments",
            "description": "All container images needed to reproduce the analysis.",
            "items": {
                "_id": "/properties/environments/items",
                "description": "Analysis environments represented by container technology and image name.",
                "optional": true,
                "properties": {
                    "image": {
                        "_id": "/properties/environments/items/properties/image",
                        "default": "busybox",
                        "description": "String which represents an image used as environment for one or more steps of an analysis.",
                        "title": "Environment image id.",
                        "type": "string"
                    },
                    "type": {
                        "_id": "/properties/environments/items/properties/type",
                        "default": "docker",
                        "description": "Name which represents a supported container technology to provide as a REANA environment.",
                        "title": "Container technology.",
                        "type": "string"
                    }
                },
                "title": "Analysis environments.",
                "type": "object"
            },
            "title": "Set of analysis' environments.",
            "type": "array"
        },
        "inputs": {
            "_id": "/properties/inputs",
            "properties": {
                "directories": {
                    "_id": "/properties/inputs/properties/directories",
                    "description": "List of directories provided as input for a given analysis.",
                    "items": {
                        "_id": "/properties/inputs/properties/directories/items",
                        "title": "Relative path to the directory.",
                        "type": "string"
                    },
                    "optional": true,
                    "title": "Analysis input directories.",
                    "type": "array"
                },
                "files": {
                    "_id": "/properties/inputs/properties/files",
                    "description": "List of files provided as input for a given analysis.",
                    "items": {
                        "_id": "/properties/inputs/properties/files/items",
                        "title": "Relative path to the file.",
                        "type": "string"
                    },
                    "optional": true,
                    "title": "Analysis input files.",
                    "type": "array"
                },
                "options": {
                    "_id": "/properties/workflow/properties/options",
                    "description": "Extra operational options accepted by workflow engines.",
                    "title": "Workflow operational options.",
                    "type": "object"
                },
                "parameters": {
                    "_id": "/properties/inputs/properties/parameters",
                    "description": "Key value data structure which represents the analysis parameters.",
                    "optional": true,
                    "title": "Analysis parameters.",
                    "type": "object"
                }
            },
            "title": "Analysis inputs.",
            "type": "object"
        },
        "metadata": {
            "_id": "/properties/metadata",
            "properties": {
                "author": {
                    "_id": "/properties/metadata/properties/author",
                    "default": "@reanahub/developers",
                    "description": "User or group who created the analysis.",
                    "title": "Analysis author.",
                    "type": "string"
                },
                "title": {
                    "_id": "/properties/metadata/properties/title",
                    "default": "REANA analysis example",
                    "title": "Analysis title",
                    "type": "string"
                }
            },
            "title": "Analysis metadata.",
            "type": "object"
        },
        "outputs": {
            "_id": "/properties/outputs",
            "properties": {
                "files": {
                    "_id": "/properties/outputs/properties/files",
                    "description": "Expected output from analysis represented by a set of files.",
                    "items": {
                        "_id": "/properties/outputs/properties/files/items",
                        "title": "Relative path to the file.",
                        "type": "string"
                    },
                    "title": "Analysis results.",
                    "type": "array"
                }
            },
            "title": "Analysis outputs.",
            "type": "object"
        },
        "workflow": {
            "_id": "/properties/workflow",
            "description": "Workflow which represents the steps that need to be run to reproduce an analysis.",
            "properties": {
                "file": {
                    "_id": "/properties/workflow/properties/file",
                    "title": "Workflow file name.",
                    "type": "string"
                },
                "resources": {
                    "_id": "/properties/workflow/properties/resources",
                    "properties": {
                        "cvmfs": {
                            "_id": "/properties/workflow/properties/resources/properties/cvmfs",
                            "items": {
                                "optional": false,
                                "title": "CVMFS repos",
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "title": "Workflow resources in yaml format.",
                    "type": "object"
                },
                "specification": {
                    "_id": "/properties/workflow/properties/specification",
                    "title": "Workflow specification in yaml format.",
                    "type": "object"
                },
                "type": {
                    "_id": "/properties/workflow/properties/type",
                    "description": "Name which represents a supported workflow engine to be used to reproduce the analysis.",
                    "title": "Workflow engine.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "title": "Analysis workflow.",
            "type": "object"
        }
    },
    "required": [
        "workflow"
    ],
    "title": "REANA analysis specification",
    "type": "object"
}