{
    "$id": "http://redfish.dmtf.org/schemas/v1/ComputerSystem.v1_0_19.json",
    "$ref": "#/definitions/ComputerSystem",
    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
    "copyright": "Copyright 2014-2022 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": {
                "#ComputerSystem.Reset": {
                    "$ref": "#/definitions/Reset"
                },
                "Oem": {
                    "$ref": "#/definitions/OemActions",
                    "description": "The available OEM-specific actions for this resource.",
                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
                }
            },
            "type": "object"
        },
        "Boot": {
            "additionalProperties": false,
            "description": "The boot information for this resource.",
            "longDescription": "This type shall contain properties that describe boot information for 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": {
                "BootSourceOverrideEnabled": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/BootSourceOverrideEnabled"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The state of the boot source override feature.",
                    "longDescription": "This property shall contain `Once` for a one-time boot override, and `Continuous` for a remain-active-until-cancelled override.  If set to `Once`, the value is reset to `Disabled` after the BootSourceOverrideTarget actions have completed successfully.  Changes to this property do not alter the BIOS persistent boot order configuration.",
                    "readonly": false
                },
                "BootSourceOverrideTarget": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/ComputerSystem.json#/definitions/BootSource"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The current boot source to use at the next boot instead of the normal boot device, if BootSourceOverrideEnabled does not contain `Disabled`.",
                    "longDescription": "This property shall contain the source to boot the system from, overriding the normal boot order.  The @Redfish.AllowableValues annotation specifies the valid values for this property.  `UefiTarget` indicates to boot from the UEFI device path found in UefiTargetBootSourceOverride.  `UefiBootNext` indicates to boot from the UEFI BootOptionReference found in BootNext.  Virtual devices for a target should take precedence over a physical device.  Systems may attempt to boot from multiple devices that share a target identifier.  Changes to this property do not alter the BIOS persistent boot order configuration.",
                    "readonly": false
                },
                "UefiTargetBootSourceOverride": {
                    "description": "The UEFI device path of the device from which to boot when BootSourceOverrideTarget is `UefiTarget`.",
                    "longDescription": "This property shall contain the UEFI device path of the override boot target.  Changes to this property do not alter the BIOS persistent boot order configuration.",
                    "readonly": false,
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "type": "object"
        },
        "BootSourceOverrideEnabled": {
            "enum": [
                "Disabled",
                "Once",
                "Continuous"
            ],
            "enumDescriptions": {
                "Continuous": "The system boots to the target specified in the BootSourceOverrideTarget property until this property is `Disabled`.",
                "Disabled": "The system boots normally.",
                "Once": "On its next boot cycle, the system boots one time to the boot source override target.  Then, the BootSourceOverrideEnabled value is reset to `Disabled`."
            },
            "type": "string"
        },
        "ComputerSystem": {
            "additionalProperties": false,
            "description": "The ComputerSystem schema represents a computer or system instance and the software-visible resources, or items within the data plane, such as memory, CPU, and other devices that it can access.  Details of those resources or subsystems are also linked through this resource.",
            "longDescription": "This resource shall represent a computing system in the Redfish Specification.",
            "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"
                },
                "Actions": {
                    "$ref": "#/definitions/Actions",
                    "description": "The available actions for this resource.",
                    "longDescription": "This property shall contain the available actions for this resource."
                },
                "AssetTag": {
                    "description": "The user-definable tag that can track this computer system for inventory or other client purposes.",
                    "longDescription": "This property shall contain the system asset tag value.",
                    "readonly": false,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "BiosVersion": {
                    "description": "The version of the system BIOS or primary system firmware.",
                    "longDescription": "This property shall contain the version string of the currently installed and running BIOS for x86 systems.  For other systems, the property may contain a version string that represents the primary system firmware.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "Boot": {
                    "$ref": "#/definitions/Boot",
                    "description": "The boot settings for this system.",
                    "longDescription": "This property shall contain the boot settings for this system."
                },
                "Description": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "readonly": true
                },
                "EthernetInterfaces": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/EthernetInterfaceCollection.json#/definitions/EthernetInterfaceCollection",
                    "description": "The link to the collection of Ethernet interfaces associated with this system.",
                    "longDescription": "This property shall contain a link to a resource collection of type EthernetInterfaceCollection.",
                    "readonly": true
                },
                "HostName": {
                    "description": "The DNS host name, without any domain information.",
                    "longDescription": "This property shall contain the host name for this system, as reported by the operating system or hypervisor.  A service running in the host operating system typically reports this value to the manager.",
                    "readonly": false,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "Id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
                    "readonly": true
                },
                "IndicatorLED": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/IndicatorLED"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The state of the indicator LED, which identifies the system.",
                    "longDescription": "This property shall contain the state of the indicator light, which identifies this system.",
                    "readonly": false
                },
                "Links": {
                    "$ref": "#/definitions/Links",
                    "description": "The links to other resources that are related to this resource.",
                    "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."
                },
                "LogServices": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/LogServiceCollection.json#/definitions/LogServiceCollection",
                    "description": "The link to the collection of log services associated with this system.",
                    "longDescription": "This property shall contain a link to a resource collection of type LogServiceCollection.",
                    "readonly": true
                },
                "Manufacturer": {
                    "description": "The manufacturer or OEM of this system.",
                    "longDescription": "This property shall contain a value that represents the manufacturer of the system.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "MemorySummary": {
                    "$ref": "#/definitions/MemorySummary",
                    "description": "The central memory of the system in general detail.",
                    "longDescription": "This property shall describe the central memory for this resource."
                },
                "Model": {
                    "description": "The product name for this system, without the manufacturer name.",
                    "longDescription": "This property shall describe how the manufacturer refers to this system.  Typically, this value is the product name for this system without the manufacturer name.",
                    "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": "The OEM extension property.",
                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
                },
                "PartNumber": {
                    "description": "The part number for this system.",
                    "longDescription": "This property shall contain the manufacturer-defined part number for the system.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "PowerState": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/PowerState"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The current power state of the system.",
                    "longDescription": "This property shall contain the power state of the system.",
                    "readonly": true
                },
                "ProcessorSummary": {
                    "$ref": "#/definitions/ProcessorSummary",
                    "description": "The central processors of the system in general detail.",
                    "longDescription": "This property shall describe the central processors for this resource.  Processors described by this property shall be limited to the processors that execute system code, and shall not include processors used for offload functionality."
                },
                "Processors": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/ProcessorCollection.json#/definitions/ProcessorCollection",
                    "description": "The link to the collection of processors associated with this system.",
                    "longDescription": "This property shall contain a link to a resource collection of type ProcessorCollection.",
                    "readonly": true
                },
                "SKU": {
                    "description": "The manufacturer SKU for this system.",
                    "longDescription": "This property shall contain the SKU for the system.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "SerialNumber": {
                    "description": "The serial number for this system.",
                    "longDescription": "This property shall contain the serial number for the system.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "SimpleStorage": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/SimpleStorageCollection.json#/definitions/SimpleStorageCollection",
                    "description": "The link to the collection of storage devices associated with this system.",
                    "longDescription": "This property shall contain a link to a resource collection of type SimpleStorageCollection.",
                    "readonly": true
                },
                "Status": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
                    "description": "The status and health of the resource and its subordinate or dependent resources.",
                    "longDescription": "This property shall contain any status or health properties of the resource."
                },
                "SystemType": {
                    "$ref": "#/definitions/SystemType",
                    "description": "The type of computer system that this resource represents.",
                    "longDescription": "An enumeration that indicates the kind of system that this resource represents.",
                    "readonly": true
                },
                "UUID": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/UUID"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The UUID for this system.",
                    "longDescription": "This property shall contain the universal unique identifier number for this system.  RFC4122 describes methods to create this value.  The value should be considered to be opaque.  Client software should only treat the overall value as a UUID and should not interpret any sub-fields within the UUID.  If the system supports SMBIOS, the property value should follow the SMBIOS 2.6 and later recommendation for converting the SMBIOS 16-byte UUID structure into the Redfish canonical `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` string format, so that the property value matches the byte order presented by current OS APIs, such as WMI and dmidecode.",
                    "readonly": true
                }
            },
            "required": [
                "@odata.id",
                "@odata.type",
                "Id",
                "Name"
            ],
            "type": "object"
        },
        "IndicatorLED": {
            "enum": [
                "Unknown",
                "Lit",
                "Blinking",
                "Off"
            ],
            "enumDescriptions": {
                "Blinking": "The indicator LED is blinking.",
                "Lit": "The indicator LED is lit.",
                "Off": "The indicator LED is off.",
                "Unknown": "The state of the indicator LED cannot be determined."
            },
            "enumLongDescriptions": {
                "Blinking": "This value shall represent that the indicator LED is in a blinking state where the LED is being turned on and off in repetition.  If the service does not support this value, it shall reject PATCH or PUT requests containing this value by returning the HTTP 400 (Bad Request) status code.",
                "Lit": "This value shall represent that the indicator LED is in a solid on state.  If the service does not support this value, it shall reject PATCH or PUT requests containing this value by returning the HTTP 400 (Bad Request) status code.",
                "Off": "This value shall represent that the indicator LED is in a solid off state.  If the service does not support this value, it shall reject PATCH or PUT requests containing this value by returning the HTTP 400 (Bad Request) status code.",
                "Unknown": "This value shall represent that the indicator LED is in an unknown state.  The service shall reject PATCH or PUT requests containing this value by returning the HTTP 400 (Bad Request) status code."
            },
            "type": "string"
        },
        "Links": {
            "additionalProperties": false,
            "description": "The links to other resources that are related to this resource.",
            "longDescription": "This Redfish Specification-described type shall contain links to resources that are related to but are not contained by, or 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": {
                    "description": "An array of links to the chassis that contains this system.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/Chassis.json#/definitions/Chassis"
                    },
                    "longDescription": "This property shall contain an array of links to resources of type Chassis that represent the physical containers associated with this resource.",
                    "readonly": true,
                    "type": "array"
                },
                "Chassis@odata.count": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
                },
                "CooledBy": {
                    "description": "An array of links to resources or objects that that cool this computer system.  Normally, the link is for either a chassis or a specific set of fans.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/idRef"
                    },
                    "longDescription": "This property shall contain an array of links to resources or objects that cool this computer system.",
                    "readonly": true,
                    "type": "array"
                },
                "CooledBy@odata.count": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
                },
                "ManagedBy": {
                    "description": "An array of links to the managers responsible for this system.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/Manager.json#/definitions/Manager"
                    },
                    "longDescription": "This property shall contain an array of link to resources of type Manager that represent the resources with management responsibility for this resource.",
                    "readonly": true,
                    "type": "array"
                },
                "ManagedBy@odata.count": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
                },
                "Oem": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
                    "description": "The OEM extension property.",
                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
                },
                "PoweredBy": {
                    "description": "An array of links to resources or objects that power this computer system.  Normally, the link is for either a chassis or a specific set of power supplies.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/idRef"
                    },
                    "longDescription": "This property shall contain an array of links to resources or objects that power this computer system.",
                    "readonly": true,
                    "type": "array"
                },
                "PoweredBy@odata.count": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
                }
            },
            "type": "object"
        },
        "MemorySummary": {
            "additionalProperties": false,
            "description": "The memory of the system in general detail.",
            "longDescription": "This type shall contain properties that describe the central memory for 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": {
                "Status": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
                    "description": "The status and health of the resource and its subordinate or dependent resources.",
                    "longDescription": "This property shall contain any status or health properties of the resource."
                },
                "TotalSystemMemoryGiB": {
                    "description": "The total configured operating system-accessible memory (RAM), measured in GiB.",
                    "longDescription": "This property shall contain the amount of configured system general purpose volatile (RAM) memory as measured in gibibytes.",
                    "minimum": 0,
                    "readonly": true,
                    "type": [
                        "number",
                        "null"
                    ],
                    "units": "GiBy"
                }
            },
            "type": "object"
        },
        "OemActions": {
            "additionalProperties": true,
            "description": "The available OEM-specific actions for this resource.",
            "longDescription": "This type shall contain the available OEM-specific 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"
        },
        "ProcessorSummary": {
            "additionalProperties": false,
            "description": "The central processors of the system in general detail.",
            "longDescription": "This type shall contain properties that describe the central processors for a system.  Processors described by this type shall be limited to the processors that execute system code, and shall not include processors used for offload functionality.",
            "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": {
                "Count": {
                    "description": "The number of physical processors in the system.",
                    "longDescription": "This property shall contain the total number of physical central processors in the system.",
                    "minimum": 0,
                    "readonly": true,
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "Model": {
                    "description": "The processor model for the primary or majority of processors in this system.",
                    "longDescription": "This property shall contain the processor model for the central processors in the system, per the description in the Processor Information - Processor Family section of the SMBIOS Specification DSP0134 2.8 or later.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "Status": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
                    "description": "The status and health of the resource and its subordinate or dependent resources.",
                    "longDescription": "This property shall contain any status or health properties of the resource."
                }
            },
            "type": "object"
        },
        "Reset": {
            "additionalProperties": false,
            "description": "This action resets the system.",
            "longDescription": "This action shall reset the system represented by the resource.  For systems that implement ACPI Power Button functionality, the PushPowerButton value shall perform or emulate an ACPI Power Button Push, and the ForceOff value shall perform an ACPI Power Button Override, commonly known as a four-second hold of the power button.",
            "parameters": {
                "ResetType": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/ResetType",
                    "description": "The type of reset.",
                    "longDescription": "This parameter shall contain the type of reset.  The service can accept a request without the parameter and perform an implementation-specific default reset.  Services should include the @Redfish.AllowableValues annotation for this parameter to ensure compatibility with clients, even when ActionInfo has been implemented."
                }
            },
            "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": {
                "target": {
                    "description": "Link to invoke action",
                    "format": "uri-reference",
                    "type": "string"
                },
                "title": {
                    "description": "Friendly action name",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "SystemType": {
            "enum": [
                "Physical",
                "Virtual",
                "OS",
                "PhysicallyPartitioned",
                "VirtuallyPartitioned"
            ],
            "enumDescriptions": {
                "OS": "An operating system instance.",
                "Physical": "A computer system.",
                "PhysicallyPartitioned": "A hardware-based partition of a computer system.",
                "Virtual": "A virtual machine instance running on this system.",
                "VirtuallyPartitioned": "A virtual or software-based partition of a computer system."
            },
            "enumLongDescriptions": {
                "OS": "A SystemType of OS typically represents an OS or hypervisor view of the system.",
                "Physical": "A SystemType of Physical typically represents the hardware aspects of a system, such as a management controller.",
                "PhysicallyPartitioned": "A SystemType of PhysicallyPartitioned typically represents a single system constructed from one or more physical systems through a firmware or hardware-based service.",
                "Virtual": "A SystemType of Virtual typically represents a system that is actually a virtual machine instance.",
                "VirtuallyPartitioned": "A SystemType of VirtuallyPartitioned typically represents a single system constructed from one or more virtual systems through a software-based service."
            },
            "type": "string"
        }
    },
    "owningEntity": "DMTF",
    "release": "1.0",
    "title": "#ComputerSystem.v1_0_19.ComputerSystem"
}