{
    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_2_0.json",
    "copyright": "Copyright 2016-2017 Storage Networking Industry Association (SNIA), USA. All rights reserved. For the full SNIA copyright policy, see http://www.snia.org/about/corporate_info/copyright",
    "definitions": {
        "DataStorageLineOfService": {
            "additionalProperties": false,
            "description": "Describe data storage capabilities.",
            "longDescription": "This structure may be used to describe a service option covering storage provisioning and availability.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "@odata.context": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/context"
                },
                "@odata.id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/id"
                },
                "@odata.type": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/type"
                },
                "AccessCapabilities": {
                    "description": "Required access capabilities.",
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "http://redfish.dmtf.org/schemas/swordfish/v1/DataStorageLoSCapabilities.v1_0_0.json#/definitions/StorageAccessCapability"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "longDescription": "Each entry specifies a required storage access capability.",
                    "readonly": false,
                    "type": "array"
                },
                "Description": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "readonly": true
                },
                "Id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
                    "readonly": true
                },
                "IsSpaceEfficient": {
                    "description": "True implies compression or deduplication of storage.",
                    "longDescription": "A value of true shall indicate that the storage is compressed or deduplicated. The default value for this property is false.",
                    "readonly": false,
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "Name": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
                    "readonly": true
                },
                "Oem": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
                    "description": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
                    "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
                },
                "ProvisioningPolicy": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/swordfish/v1/DataStorageLoSCapabilities.v1_0_0.json#/definitions/ProvisioningPolicy"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Provisioning policy for storage.",
                    "longDescription": "The enumeration literal shall define the provisioning policy for storage.",
                    "readonly": false
                },
                "RecoveryTimeObjectives": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/swordfish/v1/DataProtectionLoSCapabilities.v1_0_0.json#/definitions/RecoveryAccessScope"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Expectations for time to access the primary store after disaster recover.",
                    "longDescription": "The enumeration literal specifies the time after a disaster that the client shall regain conformant service level access to the primary store, typical values are 'immediate' or 'offline'. The expectation is that the services required to implement this capability are part of the advertising system.",
                    "readonly": false
                }
            },
            "required": [
                "Id",
                "Name"
            ],
            "type": "object"
        }
    },
    "title": "#DataStorageLineOfStorage.v1_1_0"
}