# DataStorage-schema.json

{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$id": "../Documentation/Implementation/data_model/Json/",
    "title": "DataStorage",
    "description": "DataStorage schema",
    "dataTypes": null,
    "type": "object",
    "properties": {
        "description": {
            "type": "string",
            "description": "Description of storage requirements"
        },
        "estimatedVolume": {
            "type": "number",
            "description": "Estimated data volume"
        },
        "volumeUnit": {
            "type": "string",
            "description": "Unit of volume",
            "enum": [
                "Bytes",
                "KB",
                "MB",
                "GB",
                "TB",
                "PB"
            ]
        },
        "facility": {
            "type": "array",
            "items": {
                "type": "object",
                "$comment": "class=TechnicalResource",
                "properties": {
                    "dbid": {
                        "type": "number"
                    }
                },
                "required": [
                    "dbid"
                ]
            },
            "description": "Use of a technical resource for data storage and backup"
        },
        "securityMeasures": {
            "type": "string",
            "description": "Description of measures taken to ensure data security"
        },
        "backupPolicy": {
            "type": "object",
            "$comment": "class=BackupPolicy",
            "properties": {
                "dbid": {
                    "type": "number"
                }
            },
            "required": [
                "dbid"
            ],
            "description": "Information regarding the backup policy"
        },
        "contributor": {
            "type": "array",
            "items": {
                "type": "object",
                "$comment": "class=Contributor",
                "properties": {
                    "dbid": {
                        "type": "number"
                    }
                },
                "required": [
                    "dbid"
                ]
            },
            "description": "Person(s) responsible for overseeing data storage"
        },
        "cost": {
            "type": "array",
            "items": {
                "type": "object",
                "$comment": "class=Cost",
                "properties": {
                    "dbid": {
                        "type": "number"
                    }
                },
                "required": [
                    "dbid"
                ]
            },
            "description": "Costs associated with data storage"
        }
    },
    "required": [
        "description"
    ]
}