{
    "$id": "http://redfish.dmtf.org/schemas/v1/Processor.v1_4_0.json",
    "$ref": "#/definitions/Processor",
    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
    "definitions": {
        "Actions": {
            "additionalProperties": false,
            "description": "The available actions for this resource.",
            "longDescription": "This type shall contain the available actions for this resource.",
            "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": {
                "Oem": {
                    "$ref": "#/definitions/OemActions",
                    "description": "This property contains the available OEM specific actions for this resource.",
                    "longDescription": "This property shall contain any additional OEM actions for this resource.",
                    "versionAdded": "v1_1_0"
                }
            },
            "type": "object"
        },
        "EthernetInterface": {
            "additionalProperties": false,
            "description": "This is the definition for an Ethernet Interface object.",
            "longDescription": "These properties shall be the definition for an Ethernet Interface for 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": {
                "MaxLanes": {
                    "description": "This is the number of lanes supported by this interface.",
                    "longDescription": "The value of this property shall be the maximum number of lanes supported by this interface.",
                    "readonly": true,
                    "type": [
                        "integer",
                        "null"
                    ],
                    "versionAdded": "v1_4_0"
                },
                "MaxSpeedMbps": {
                    "description": "The maximum speed supported by this interface.",
                    "longDescription": "The value of this property shall be the maximum speed supported by this interface.",
                    "readonly": true,
                    "type": [
                        "integer",
                        "null"
                    ],
                    "units": "Mbit/s",
                    "versionAdded": "v1_4_0"
                },
                "Oem": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
                    "description": "Oem extension object.",
                    "longDescription": "This object represents the Oem property.  All values for resources described by this schema shall comply to the requirements as described in the Redfish specification.",
                    "versionAdded": "v1_4_0"
                }
            },
            "type": "object"
        },
        "FPGA": {
            "additionalProperties": false,
            "description": "The properties of the FPGA device.",
            "longDescription": "This object shall contain the properties of the FPGA device represented by a Processor.",
            "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": {
                "ExternalInterfaces": {
                    "description": "An array of the FPGA external interfaces.",
                    "items": {
                        "$ref": "#/definitions/FpgaInterface"
                    },
                    "longDescription": "The value of this property shall be an array of objects that describe the external connectivity of the FPGA.",
                    "type": "array",
                    "versionAdded": "v1_4_0"
                },
                "FirmwareId": {
                    "description": "The FPGA firmware identifier.",
                    "longDescription": "The value of this property shall contain a string decsribing the FPGA firmware identifier.",
                    "readonly": true,
                    "type": "string",
                    "versionAdded": "v1_4_0"
                },
                "FirmwareManufacturer": {
                    "description": "The FPGA firmware manufacturer.",
                    "longDescription": "The value of this property shall contain a string decsribing the FPGA firmware manufacturer.",
                    "readonly": true,
                    "type": "string",
                    "versionAdded": "v1_4_0"
                },
                "FirmwareVersion": {
                    "description": "The FPGA firmware version.",
                    "longDescription": "The value of this property shall contain a string decsribing the FPGA firmware version.",
                    "readonly": true,
                    "type": "string",
                    "versionAdded": "v1_4_0"
                },
                "FpgaType": {
                    "$ref": "#/definitions/FpgaType",
                    "description": "The FPGA type.",
                    "longDescription": "The value of this property shall be a type of the FPGA device.",
                    "readonly": true,
                    "versionAdded": "v1_4_0"
                },
                "HostInterface": {
                    "$ref": "#/definitions/FpgaInterface",
                    "description": "The FPGA interface to the host.",
                    "longDescription": "The value of this property shall be an object that describes the connectivity to the host for system software to use.",
                    "versionAdded": "v1_4_0"
                },
                "Model": {
                    "description": "The FPGA model.",
                    "longDescription": "The value of this property shall be a model of the FPGA device.",
                    "readonly": true,
                    "type": "string",
                    "versionAdded": "v1_4_0"
                },
                "Oem": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
                    "description": "Oem extension object.",
                    "longDescription": "This object represents the Oem property.  All values for resources described by this schema shall comply to the requirements as described in the Redfish specification.",
                    "versionAdded": "v1_4_0"
                },
                "PCIeVirtualFunctions": {
                    "description": "The number of the PCIe Virtual Functions.",
                    "longDescription": "The value of this property shall be an integer that describes the number of PCIe Virtual Functions configured within the FPGA.",
                    "readonly": false,
                    "type": "integer",
                    "versionAdded": "v1_4_0"
                },
                "ProgrammableFromHost": {
                    "description": "This flag indicates if the FPGA firmware can be reprogrammed from the host using system software.",
                    "longDescription": "The value of this property shall indicate whether the FPGA firmware can be reprogrammed from the host using system software.  If set to false, system software shall not be able to program the FPGA firmware from the host interface.  In either state, a management controller may be able to program the FPGA firmware using the sideband interface.",
                    "readonly": false,
                    "type": [
                        "boolean",
                        "null"
                    ],
                    "versionAdded": "v1_4_0"
                },
                "ReconfigurationSlots": {
                    "description": "An array of the FPGA reconfiguration slots.  A reconfiguration slot is used by an FPGA to contain an acceleration function that can change as the FPGA is being provisioned.",
                    "items": {
                        "$ref": "#/definitions/FpgaReconfigurationSlot"
                    },
                    "longDescription": "The value of this property shall be an array of the structures describing the FPGA reconfiguration slots that can be programmed with the acceleration functions.",
                    "type": "array",
                    "versionAdded": "v1_4_0"
                }
            },
            "type": "object"
        },
        "FpgaInterface": {
            "additionalProperties": false,
            "description": "This type describes an interface to the FPGA.",
            "longDescription": "This type shall contain information about the interface to the FPGA.",
            "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": {
                "Ethernet": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/EthernetInterface"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Describes the Ethernet related information about this FPGA interface.",
                    "longDescription": "The value of this property shall be an object the describes the Ethernet related information about this FPGA interface.",
                    "versionAdded": "v1_4_0"
                },
                "InterfaceType": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/FpgaInterfaceType"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The FPGA interface type.",
                    "longDescription": "The value of this property shall be an enum that describes the type of interface to the FPGA.",
                    "readonly": true,
                    "versionAdded": "v1_4_0"
                },
                "PCIe": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/PCIeDevice.json#/definitions/PCIeInterface"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Describes the PCI-e related information about this FPGA interface.",
                    "longDescription": "The value of this property shall be an object the describes the PCI-e related information about this FPGA interface.",
                    "versionAdded": "v1_4_0"
                }
            },
            "type": "object"
        },
        "FpgaInterfaceType": {
            "enum": [
                "QPI",
                "UPI",
                "PCIe",
                "Ethernet",
                "OEM"
            ],
            "enumDescriptions": {
                "Ethernet": "An Ethernet interface.",
                "OEM": "An OEM defined interface.",
                "PCIe": "A PCI Express interface.",
                "QPI": "The Intel QuickPath Interconnect.",
                "UPI": "The Intel UltraPath Interconnect."
            },
            "type": "string"
        },
        "FpgaReconfigurationSlot": {
            "additionalProperties": false,
            "description": "This type describes the FPGA reconfiguration slot.  A reconfiguration slot is used by an FPGA to contain an acceleration function that can change as the FPGA is being provisioned.",
            "longDescription": "This type shall contain information about the FPGA reconfiguration slot.",
            "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": {
                "AccelerationFunction": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/AccelerationFunction.json#/definitions/AccelerationFunction"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "A link to the Acceleration Function provided by the code programmed into a reconfiguration slot.",
                    "longDescription": "The value of this property shall be a reference to the acceleration function resources provided by the code programmed into a reconfiguration slot and shall reference a resource of type AccelerationFunction.",
                    "readonly": true,
                    "versionAdded": "v1_4_0"
                },
                "ProgrammableFromHost": {
                    "description": "This flag indicates if the reconfiguration slot can be reprogrammed from the host using system software.",
                    "longDescription": "The value of this property shall indicate whether the reconfiguration slot can be reprogrammed from the host using system software.  If set to false, system software shall not be able to program the reconfiguration slot from the host interface.  In either state, a management controller may be able to program the reconfiguration slot using the sideband interface.",
                    "readonly": false,
                    "type": [
                        "boolean",
                        "null"
                    ],
                    "versionAdded": "v1_4_0"
                },
                "SlotId": {
                    "description": "The FPGA reconfiguration slot identifier.",
                    "longDescription": "The value of this property shall be the FPGA reconfiguration slot identifier.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ],
                    "versionAdded": "v1_4_0"
                },
                "UUID": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/UUID"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The universal unique identifier (UUID) for this reconfiguration slot.",
                    "longDescription": "The value of this property shall be used to contain a universal unique identifier number for the reconfiguration slot.",
                    "readonly": true,
                    "versionAdded": "v1_4_0"
                }
            },
            "type": "object"
        },
        "FpgaType": {
            "enum": [
                "Integrated",
                "Discrete"
            ],
            "enumDescriptions": {
                "Discrete": "The discrete FPGA device.",
                "Integrated": "The FPGA device integrasted with other porcessor in the single chip."
            },
            "type": "string"
        },
        "InstructionSet": {
            "enum": [
                "x86",
                "x86-64",
                "IA-64",
                "ARM-A32",
                "ARM-A64",
                "MIPS32",
                "MIPS64",
                "PowerISA",
                "OEM"
            ],
            "enumDescriptions": {
                "ARM-A32": "ARM 32-bit.",
                "ARM-A64": "ARM 64-bit.",
                "IA-64": "Intel IA-64.",
                "MIPS32": "MIPS 32-bit.",
                "MIPS64": "MIPS 64-bit.",
                "OEM": "OEM-defined.",
                "PowerISA": "PowerISA-64 or PowerISA-32.",
                "x86": "x86 32-bit.",
                "x86-64": "x86 64-bit."
            },
            "enumVersionAdded": {
                "PowerISA": "v1_4_0"
            },
            "type": "string"
        },
        "Links": {
            "additionalProperties": false,
            "description": "Contains references to other resources that are related to this resource.",
            "longDescription": "This type, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource.",
            "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": {
                "Chassis": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Chassis.json#/definitions/Chassis",
                    "description": "A reference to the Chassis which contains this Processor.",
                    "longDescription": "The value of this property shall be a reference to a resource of type Chassis that represent the physical container associated with this Processor.",
                    "readonly": true,
                    "versionAdded": "v1_1_0"
                },
                "ConnectedProcessors": {
                    "description": "An array of references to the processors directly connected to this processor.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/Processor.json#/definitions/Processor"
                    },
                    "longDescription": "The value of this property shall be an array of references of type Processor that are directly connected to this Processor.",
                    "readonly": true,
                    "type": "array",
                    "versionAdded": "v1_4_0"
                },
                "ConnectedProcessors@odata.count": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                },
                "Endpoints": {
                    "description": "An array of references to the endpoints that connect to this processor.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/Endpoint.json#/definitions/Endpoint"
                    },
                    "longDescription": "The value of this property shall be an array of references of type Endpoint that represent Endpoints accociated with this Processor.",
                    "readonly": true,
                    "type": "array",
                    "versionAdded": "v1_4_0"
                },
                "Endpoints@odata.count": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                },
                "Oem": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
                    "description": "Oem extension object.",
                    "longDescription": "This object represents the Oem property.  All values for resources described by this schema shall comply to the requirements as described in the Redfish specification."
                },
                "PCIeDevice": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/PCIeDevice.json#/definitions/PCIeDevice"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "A reference to the PCIeDevice associated with this Processor.",
                    "longDescription": "The value of this property shall be a reference of type PCIeDevice that represents the PCI-e Device associated with this Processor.",
                    "readonly": true,
                    "versionAdded": "v1_4_0"
                },
                "PCIeFunctions": {
                    "description": "An array of references to the PCIeFunctions associated with this Processor.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/PCIeFunction.json#/definitions/PCIeFunction"
                    },
                    "longDescription": "The value of this property shall be an array of references of type PCIeFunction that represent the PCI-e Functions associated with this Processor.",
                    "readonly": true,
                    "type": "array",
                    "versionAdded": "v1_4_0"
                },
                "PCIeFunctions@odata.count": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                }
            },
            "type": "object"
        },
        "OemActions": {
            "additionalProperties": true,
            "description": "The available OEM specific actions for this resource.",
            "longDescription": "This type shall contain any additional OEM actions for this resource.",
            "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": {},
            "type": "object"
        },
        "Processor": {
            "additionalProperties": false,
            "description": "This is the schema definition for the Processor resource.  It represents the properties of a processor attached to a System.",
            "longDescription": "This resource shall be used to represent a single processor contained within a system.",
            "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_0_3.json#/definitions/context"
                },
                "@odata.etag": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                },
                "@odata.id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                },
                "@odata.type": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                },
                "AccelerationFunctions": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/AccelerationFunctionCollection.json#/definitions/AccelerationFunctionCollection",
                    "description": "A reference to the collection of Acceleration Functions associated with this Processor.",
                    "longDescription": "The value of this property shall be a link to a collection of type AccelerationFunctionCollection.",
                    "readonly": true,
                    "versionAdded": "v1_4_0"
                },
                "Actions": {
                    "$ref": "#/definitions/Actions",
                    "description": "The available actions for this resource.",
                    "longDescription": "The Actions property shall contain the available actions for this resource.",
                    "versionAdded": "v1_1_0"
                },
                "Assembly": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Assembly.json#/definitions/Assembly",
                    "description": "A reference to the Assembly resource associated with this processor.",
                    "longDescription": "The value of this property shall be a link to a resource of type Assembly.",
                    "readonly": true,
                    "versionAdded": "v1_2_0"
                },
                "Description": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "readonly": true
                },
                "FPGA": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/FPGA"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The properties specific for Processors of type FPGA.",
                    "longDescription": "The value of this property shall be an object containing properties specific for Processors of type FPGA.",
                    "versionAdded": "v1_4_0"
                },
                "Id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
                    "readonly": true
                },
                "InstructionSet": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/InstructionSet"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The instruction set of the processor.",
                    "longDescription": "This property shall contain the string which identifies the instruction set of the processor contained in this socket.",
                    "readonly": true
                },
                "Links": {
                    "$ref": "#/definitions/Links",
                    "description": "Contains references to other resources that are related to this resource.",
                    "longDescription": "The Links property, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource.",
                    "versionAdded": "v1_1_0"
                },
                "Location": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location",
                    "description": "The Location of the processor.",
                    "longDescription": "This property shall contain location information of the associated processor.",
                    "versionAdded": "v1_2_0"
                },
                "Manufacturer": {
                    "description": "The processor manufacturer.",
                    "longDescription": "This property shall contain a string which identifies the manufacturer of the processor.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "MaxSpeedMHz": {
                    "description": "The maximum clock speed of the processor.",
                    "longDescription": "This property shall indicate the maximum rated clock speed of the processor in MHz.",
                    "readonly": true,
                    "type": [
                        "integer",
                        "null"
                    ],
                    "units": "MHz"
                },
                "MaxTDPWatts": {
                    "description": "The maximum Thermal Design Power (TDP) in watts.",
                    "longDescription": "The value of this property shall be the maximum Thermal Design Power (TDP) in watts.",
                    "readonly": true,
                    "type": [
                        "integer",
                        "null"
                    ],
                    "units": "W",
                    "versionAdded": "v1_4_0"
                },
                "Metrics": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/ProcessorMetrics.json#/definitions/ProcessorMetrics"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "A reference to the Metrics associated with this Processor.",
                    "longDescription": "This property shall be a reference to the Metrics associated with this Processor.",
                    "readonly": true,
                    "versionAdded": "v1_4_0"
                },
                "Model": {
                    "description": "The product model number of this device.",
                    "longDescription": "This property shall indicate the model information as provided by the manufacturer of this processor.",
                    "readonly": true,
                    "type": [
                        "string",
                        "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*."
                },
                "ProcessorArchitecture": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/ProcessorArchitecture"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The architecture of the processor.",
                    "longDescription": "This property shall contain the string which identifies the architecture of the processor contained in this Socket.",
                    "readonly": true
                },
                "ProcessorId": {
                    "$ref": "#/definitions/ProcessorId",
                    "description": "Identification information for this processor.",
                    "longDescription": "This object shall contain identification information for this processor."
                },
                "ProcessorMemory": {
                    "description": "The memory directly attached or integrated witin this Procesor.",
                    "items": {
                        "$ref": "#/definitions/ProcessorMemory"
                    },
                    "longDescription": "The value of this property shall be the memory directly attached or integrated witin this Processor.",
                    "type": "array",
                    "versionAdded": "v1_4_0"
                },
                "ProcessorType": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/ProcessorType"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The type of processor.",
                    "longDescription": "This property shall contain the string which identifies the type of processor contained in this Socket.",
                    "readonly": true
                },
                "Socket": {
                    "description": "The socket or location of the processor.",
                    "longDescription": "This property shall contain the string which identifies the physical location or socket of the processor.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "Status": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
                    "description": "This property describes the status and health of the resource and its children.",
                    "longDescription": "This property shall contain any status or health properties of the resource."
                },
                "SubProcessors": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/ProcessorCollection.json#/definitions/ProcessorCollection",
                    "description": "A reference to the collection of Sub-Processors associated with this system, such as cores or threads that are part of a processor.",
                    "longDescription": "The value of this property shall be a link to a collection of type ProcessorCollection.",
                    "readonly": true,
                    "versionAdded": "v1_3_0"
                },
                "TDPWatts": {
                    "description": "The nominal Thermal Design Power (TDP) in watts.",
                    "longDescription": "The value of this property shall be the nominal Thermal Design Power (TDP) in watts.",
                    "readonly": true,
                    "type": [
                        "integer",
                        "null"
                    ],
                    "units": "W",
                    "versionAdded": "v1_4_0"
                },
                "TotalCores": {
                    "description": "The total number of cores contained in this processor.",
                    "longDescription": "This property shall indicate the total count of independent processor cores contained within this processor.",
                    "readonly": true,
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "TotalThreads": {
                    "description": "The total number of execution threads supported by this processor.",
                    "longDescription": "This property shall indicate the total count of independent execution threads supported by this processor.",
                    "readonly": true,
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "UUID": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/UUID"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The universal unique identifier (UUID) for this processor.",
                    "longDescription": "The value of this property shall be used to contain a universal unique identifier number for the processor.  RFC4122 describes methods that can be used to create the value.  The value should be considered to be opaque.  Client software should only treat the overall value as a universally unique identifier and should not interpret any sub-fields within the UUID.",
                    "readonly": true,
                    "versionAdded": "v1_4_0"
                }
            },
            "required": [
                "@odata.id",
                "@odata.type",
                "Id",
                "Name"
            ],
            "type": "object"
        },
        "ProcessorArchitecture": {
            "enum": [
                "x86",
                "IA-64",
                "ARM",
                "MIPS",
                "Power",
                "OEM"
            ],
            "enumDescriptions": {
                "ARM": "ARM.",
                "IA-64": "Intel Itanium.",
                "MIPS": "MIPS.",
                "OEM": "OEM-defined.",
                "Power": "Power.",
                "x86": "x86 or x86-64."
            },
            "enumVersionAdded": {
                "Power": "v1_4_0"
            },
            "type": "string"
        },
        "ProcessorId": {
            "additionalProperties": false,
            "description": "This type describes the Identification information for a processor.",
            "longDescription": "This type shall contain identification information for a processor.",
            "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": {
                "EffectiveFamily": {
                    "description": "The effective Family for this processor.",
                    "longDescription": "This property shall indicate the effective Family information as provided by the manufacturer of this processor.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "EffectiveModel": {
                    "description": "The effective Model for this processor.",
                    "longDescription": "This property shall indicate the effective Model information as provided by the manufacturer of this processor.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "IdentificationRegisters": {
                    "description": "The contents of the Identification Registers (CPUID) for this processor.",
                    "longDescription": "This property shall include the raw CPUID instruction output as provided by the manufacturer of this processor.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "MicrocodeInfo": {
                    "description": "The Microcode Information for this processor.",
                    "longDescription": "This property shall indicate the Microcode Information as provided by the manufacturer of this processor.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "Step": {
                    "description": "The Step value for this processor.",
                    "longDescription": "This property shall indicate the Step or revision string information as provided by the manufacturer of this processor.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "VendorId": {
                    "description": "The Vendor Identification for this processor.",
                    "longDescription": "This property shall indicate the Vendor Identification string information as provided by the manufacturer of this processor.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "type": "object"
        },
        "ProcessorMemory": {
            "additionalProperties": false,
            "description": "This type describes the memory directly attached or integrated within a processor.",
            "longDescription": "This type shall contain information about memory directly attached or integratied within a processor.",
            "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": {
                "CapacityMiB": {
                    "description": "The memory capacity in MiB.",
                    "longDescription": "The value of this property shall be the memory capacity in MiB.",
                    "readonly": true,
                    "type": [
                        "integer",
                        "null"
                    ],
                    "units": "MiBy",
                    "versionAdded": "v1_4_0"
                },
                "IntegratedMemory": {
                    "description": "This indicates whether this memory is integrated within the Processor.",
                    "longDescription": "The value of this property shall be a boolean indicating whether this memory is integrated within the Porcessor.  Otherwise it is discrete memory attached to the Processor.",
                    "readonly": true,
                    "type": [
                        "boolean",
                        "null"
                    ],
                    "versionAdded": "v1_4_0"
                },
                "MemoryType": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/ProcessorMemoryType"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The type of memory used by this processor.",
                    "longDescription": "The value of this property shall be a type of the processor memory type.",
                    "readonly": true,
                    "versionAdded": "v1_4_0"
                },
                "SpeedMHz": {
                    "description": "The operating speed of the memory in MHz.",
                    "longDescription": "The value of this property shall be the operating speed of the memory in MHz.",
                    "readonly": true,
                    "type": [
                        "integer",
                        "null"
                    ],
                    "versionAdded": "v1_4_0"
                }
            },
            "type": "object"
        },
        "ProcessorMemoryType": {
            "enum": [
                "L1Cache",
                "L2Cache",
                "L3Cache",
                "L4Cache",
                "L5Cache",
                "L6Cache",
                "L7Cache",
                "HBM1",
                "HBM2",
                "HBM3",
                "SGRAM",
                "GDDR",
                "GDDR2",
                "GDDR3",
                "GDDR4",
                "GDDR5",
                "GDDR5X",
                "GDDR6",
                "DDR",
                "DDR2",
                "DDR3",
                "DDR4",
                "DDR5",
                "SDRAM",
                "SRAM",
                "Flash",
                "OEM"
            ],
            "enumDescriptions": {
                "DDR": "Double data rate synchronous dynamic random-access memory.",
                "DDR2": "Double data rate type two synchronous dynamic random-access memory.",
                "DDR3": "Double data rate type three synchronous dynamic random-access memory.",
                "DDR4": "Double data rate type four synchronous dynamic random-access memory.",
                "DDR5": "Double data rate type five synchronous dynamic random-access memory.",
                "Flash": "Flash memory.",
                "GDDR": "Synchronous graphics random-access memory.",
                "GDDR2": "Double data rate type two synchronous graphics random-access memory.",
                "GDDR3": "Double data rate type three synchronous graphics random-access memory.",
                "GDDR4": "Double data rate type four synchronous graphics random-access memory.",
                "GDDR5": "Double data rate type five synchronous graphics random-access memory.",
                "GDDR5X": "Double data rate type five synchronous graphics random-access memory.",
                "GDDR6": "Double data rate type five synchronous graphics random-access memory.",
                "HBM1": "High Bandwidth Memory.",
                "HBM2": "The second generation of High Bandwidth Memory.",
                "HBM3": "The third generation of High Bandwidth Memory.",
                "L1Cache": "L1 cache.",
                "L2Cache": "L2 cache.",
                "L3Cache": "L3 cache.",
                "L4Cache": "L4 cache.",
                "L5Cache": "L5 cache.",
                "L6Cache": "L6 cache.",
                "L7Cache": "L7 cache.",
                "OEM": "OEM-defined.",
                "SDRAM": "Synchronous dynamic random-access memory.",
                "SGRAM": "Synchronous graphics RAM.",
                "SRAM": "Static random-access memory."
            },
            "type": "string"
        },
        "ProcessorType": {
            "enum": [
                "CPU",
                "GPU",
                "FPGA",
                "DSP",
                "Accelerator",
                "Core",
                "Thread",
                "OEM"
            ],
            "enumDescriptions": {
                "Accelerator": "An Accelerator.",
                "CPU": "A Central Processing Unit.",
                "Core": "A Core in a Processor.",
                "DSP": "A Digital Signal Processor.",
                "FPGA": "A Field Programmable Gate Array.",
                "GPU": "A Graphics Processing Unit.",
                "OEM": "An OEM-defined Processing Unit.",
                "Thread": "A Thread in a Processor."
            },
            "enumVersionAdded": {
                "Core": "v1_3_0",
                "Thread": "v1_3_0"
            },
            "type": "string"
        }
    },
    "owningEntity": "DMTF",
    "release": "2018.3",
    "title": "#Processor.v1_4_0.Processor"
}