{
    "$id": "http://redfish.dmtf.org/schemas/v1/MemoryDomain.v1_0_4.json",
    "$ref": "#/definitions/MemoryDomain",
    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
    "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
    "definitions": {
        "MemoryDomain": {
            "additionalProperties": false,
            "description": "This is the schema definition of a Memory Domain and its configuration. Memory Domains are used to indicate to the client which Memory (DIMMs) can be grouped together in Memory Chunks to form interleave sets or otherwise grouped together.",
            "longDescription": "This resource shall be used to represent Memory Domains in a Redfish implementation.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "@odata.context": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
                },
                "@odata.etag": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
                },
                "@odata.id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
                },
                "@odata.type": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
                },
                "AllowsBlockProvisioning": {
                    "description": "Indicates if this Memory Domain supports the provisioning of blocks of memory.",
                    "longDescription": "The value of this property shall indicate if this Memory Domain supports the creation of Blocks of memory.",
                    "readonly": true,
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "AllowsMemoryChunkCreation": {
                    "description": "Indicates if this Memory Domain supports the creation of Memory Chunks.",
                    "longDescription": "The value of this property shall indicate if this Memory Domain supports the creation of Memory Chunks.",
                    "readonly": true,
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "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
                },
                "InterleavableMemorySets": {
                    "description": "This is the interleave sets for the memory chunk.",
                    "items": {
                        "$ref": "#/definitions/MemorySet"
                    },
                    "longDescription": "These properties shall represent the interleave sets for the memory chunk.",
                    "type": "array"
                },
                "MemoryChunks": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/MemoryChunksCollection.json#/definitions/MemoryChunksCollection",
                    "description": "A reference to the collection of Memory Chunks associated with this Memory Domain.",
                    "longDescription": "The value of this property shall be a link to a collection of type MemoryChunkCollection.",
                    "readonly": true
                },
                "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*."
                }
            },
            "required": [
                "@odata.id",
                "@odata.type",
                "Id",
                "Name"
            ],
            "type": "object"
        },
        "MemorySet": {
            "additionalProperties": false,
            "description": "This is the interleave sets for a memory chunk.",
            "longDescription": "This type shall represent the interleave sets for a memory chunk.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "MemorySet": {
                    "description": "This is the collection of memory for a particular interleave set.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/Memory.json#/definitions/Memory"
                    },
                    "longDescription": "The values in this collection shall be links to objects of type Memory.",
                    "readonly": true,
                    "type": "array"
                },
                "MemorySet@odata.count": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
                }
            },
            "type": "object"
        }
    },
    "owningEntity": "DMTF",
    "release": "2016.2",
    "title": "#MemoryDomain.v1_0_4.MemoryDomain"
}