{
    "$id": "http://redfish.dmtf.org/schemas/v1/Chassis.v1_2_13.json",
    "$ref": "#/definitions/Chassis",
    "$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": {
                "#Chassis.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"
        },
        "Chassis": {
            "additionalProperties": false,
            "description": "The Chassis schema represents the physical components of a system.  This resource represents the sheet-metal confined spaces and logical zones such as racks, enclosures, chassis and all other containers.  Subsystems, such as sensors, that operate outside of a system's data plane are linked either directly or indirectly through this resource.  A subsystem that operates outside of a system's data plane are not accessible to software that runs on the system.",
            "longDescription": "This resource shall represent a chassis or other physical enclosure 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": {
                "@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-assigned asset tag of this chassis.",
                    "longDescription": "This property shall contain an identifying string that tracks the chassis for inventory purposes.",
                    "readonly": false,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "ChassisType": {
                    "$ref": "#/definitions/ChassisType",
                    "description": "The type of physical form factor of the chassis.",
                    "longDescription": "This property shall indicate the physical form factor for the type of chassis.",
                    "readonly": true
                },
                "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
                },
                "IndicatorLED": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/IndicatorLED"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The state of the indicator LED, which identifies the chassis.",
                    "longDescription": "This property shall contain the indicator light state for the indicator light associated with 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."
                },
                "Location": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location",
                    "description": "The location of the chassis.",
                    "longDescription": "This property shall contain location information of the associated chassis.",
                    "versionAdded": "v1_2_0"
                },
                "LogServices": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/LogServiceCollection.json#/definitions/LogServiceCollection",
                    "description": "The link to the logs for this chassis.",
                    "longDescription": "This property shall contain a link to a resource collection of type LogServiceCollection.",
                    "readonly": true
                },
                "Manufacturer": {
                    "description": "The manufacturer of this chassis.",
                    "longDescription": "This property shall contain the name of the organization responsible for producing the chassis.  This organization may be the entity from whom the chassis is purchased, but this is not necessarily true.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "Model": {
                    "description": "The model number of the chassis.",
                    "longDescription": "This property shall contain the name by which the manufacturer generally refers to the chassis.",
                    "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 of the chassis.",
                    "longDescription": "This property shall contain a part number assigned by the organization that is responsible for producing or manufacturing the chassis.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "PhysicalSecurity": {
                    "$ref": "#/definitions/PhysicalSecurity",
                    "description": "The physical security state of the chassis.",
                    "longDescription": "This property shall contain the physical security state of the chassis.  Services may construct this state from multiple physical sensors.",
                    "versionAdded": "v1_1_0"
                },
                "Power": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Power.json#/definitions/Power",
                    "description": "The link to the power properties, or power supplies, power policies, and sensors, for this chassis.",
                    "longDescription": "This property shall contain a link to a resource of type Power that represents the power characteristics of this chassis.",
                    "readonly": true
                },
                "PowerState": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/PowerState"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The current power state of the chassis.",
                    "longDescription": "This property shall contain the power state of the chassis.",
                    "readonly": true,
                    "versionAdded": "v1_0_1"
                },
                "SKU": {
                    "description": "The SKU of the chassis.",
                    "longDescription": "This property shall contain the stock-keeping unit number for this chassis.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "SerialNumber": {
                    "description": "The serial number of the chassis.",
                    "longDescription": "This property shall contain a manufacturer-allocated number that identifies the chassis.",
                    "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."
                },
                "Thermal": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Thermal.json#/definitions/Thermal",
                    "description": "The link to the thermal properties, such as fans, cooling, and sensors, for this chassis.",
                    "longDescription": "This property shall contain a link to a resource of type Thermal that represents the thermal characteristics of this chassis.",
                    "readonly": true
                }
            },
            "required": [
                "ChassisType",
                "@odata.id",
                "@odata.type",
                "Id",
                "Name"
            ],
            "type": "object"
        },
        "ChassisType": {
            "enum": [
                "Rack",
                "Blade",
                "Enclosure",
                "StandAlone",
                "RackMount",
                "Card",
                "Cartridge",
                "Row",
                "Pod",
                "Expansion",
                "Sidecar",
                "Zone",
                "Sled",
                "Shelf",
                "Drawer",
                "Module",
                "Component",
                "Other"
            ],
            "enumDescriptions": {
                "Blade": "An enclosed or semi-enclosed, typically vertically-oriented, system chassis that must be plugged into a multi-system chassis to function normally.",
                "Card": "A loose device or circuit board intended to be installed in a system or other enclosure.",
                "Cartridge": "A small self-contained system intended to be plugged into a multi-system chassis.",
                "Component": "A small chassis, card, or device that contains devices for a particular subsystem or function.",
                "Drawer": "An enclosed or semi-enclosed, typically horizontally-oriented, system chassis that can be slid into a multi-system chassis.",
                "Enclosure": "A generic term for a chassis that does not fit any other description.",
                "Expansion": "A chassis that expands the capabilities or capacity of another chassis.",
                "Module": "A small, typically removable, chassis or card that contains devices for a particular subsystem or function.",
                "Other": "A chassis that does not fit any of these definitions.",
                "Pod": "A collection of equipment racks in a large, likely transportable, container.",
                "Rack": "An equipment rack, typically a 19-inch wide freestanding unit.",
                "RackMount": "A single-system chassis designed specifically for mounting in an equipment rack.",
                "Row": "A collection of equipment racks.",
                "Shelf": "An enclosed or semi-enclosed, typically horizontally-oriented, system chassis that must be plugged into a multi-system chassis to function normally.",
                "Sidecar": "A chassis that mates mechanically with another chassis to expand its capabilities or capacity.",
                "Sled": "An enclosed or semi-enclosed, system chassis that must be plugged into a multi-system chassis to function normally similar to a blade type chassis.",
                "StandAlone": "A single, free-standing system, commonly called a tower or desktop chassis.",
                "Zone": "A logical division or portion of a physical chassis that contains multiple devices or systems that cannot be physically separated."
            },
            "type": "string"
        },
        "IndicatorLED": {
            "enum": [
                "Unknown",
                "Lit",
                "Blinking",
                "Off"
            ],
            "enumDeprecated": {
                "Unknown": "This value has been deprecated in favor of returning null if the state is unknown."
            },
            "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 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 the indicator LED is in a solid on state.  If the service does not support this value, it shall return the HTTP 400 (Bad Request) status code to reject PATCH or PUT requests that contain this value.",
                "Off": "This value shall represent 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 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."
            },
            "enumVersionDeprecated": {
                "Unknown": "v1_2_0"
            },
            "type": "string"
        },
        "IntrusionSensor": {
            "enum": [
                "Normal",
                "HardwareIntrusion",
                "TamperingDetected"
            ],
            "enumDescriptions": {
                "HardwareIntrusion": "A door, lock, or other mechanism protecting the internal system hardware from being accessed is detected to be in an insecure state.",
                "Normal": "No abnormal physical security condition is detected at this time.",
                "TamperingDetected": "Physical tampering of the monitored entity is detected."
            },
            "type": "string"
        },
        "IntrusionSensorReArm": {
            "enum": [
                "Manual",
                "Automatic"
            ],
            "enumDescriptions": {
                "Automatic": "The sensor is automatically restored to the normal state when no security condition is detected.",
                "Manual": "A user is required to clear the sensor to restore it to the normal state."
            },
            "enumLongDescriptions": {
                "Automatic": "This value shall indicate the service sets the IntrusionSensor property to `Normal` when no security condition is detected.",
                "Manual": "This value shall indicate a user is required to set the IntrusionSensor property to `Normal` to restore the sensor to its normal state."
            },
            "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": {
                "ComputerSystems": {
                    "description": "An array of links to the computer systems that this chassis directly and wholly contains.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/ComputerSystem.json#/definitions/ComputerSystem"
                    },
                    "longDescription": "This property shall contain an array of links to resources of type ComputerSystem with which this physical container is associated.  If a chassis also links to a computer system to which this resource also links, this chassis shall not link to that computer system.",
                    "readonly": true,
                    "type": "array"
                },
                "ComputerSystems@odata.count": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
                },
                "ContainedBy": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Chassis.json#/definitions/Chassis",
                    "description": "The link to the chassis that contains this chassis.",
                    "longDescription": "This property shall contain a link to a resource of type Chassis that represents the chassis that contains this chassis.",
                    "readonly": false
                },
                "Contains": {
                    "description": "An array of links to any other chassis that this chassis has in it.",
                    "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 chassis instances that this chassis contains.",
                    "readonly": false,
                    "type": "array"
                },
                "Contains@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 cool this chassis.  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 chassis.",
                    "readonly": true,
                    "type": "array"
                },
                "CooledBy@odata.count": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
                },
                "Drives": {
                    "description": "An array of links to the drives located in this chassis.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/Drive.json#/definitions/Drive"
                    },
                    "longDescription": "This property shall contain an array of links to resources of type Drive that are in this chassis.",
                    "readonly": true,
                    "type": "array",
                    "versionAdded": "v1_2_0"
                },
                "Drives@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 managing this chassis.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/Manager.json#/definitions/Manager"
                    },
                    "longDescription": "This property shall contain an array of links to resources of type Manager that manage this chassis.",
                    "readonly": true,
                    "type": "array"
                },
                "ManagedBy@odata.count": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
                },
                "ManagersInChassis": {
                    "description": "An array of links to the managers located in this chassis.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/Manager.json#/definitions/Manager"
                    },
                    "longDescription": "This property shall contain an array of links to resources of type Manager that are in this chassis.",
                    "readonly": true,
                    "type": "array",
                    "versionAdded": "v1_2_0"
                },
                "ManagersInChassis@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 chassis.  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 chassis.",
                    "readonly": true,
                    "type": "array"
                },
                "PoweredBy@odata.count": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
                },
                "Storage": {
                    "description": "An array of links to the storage subsystems connected to or inside this chassis.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/Storage.json#/definitions/Storage"
                    },
                    "longDescription": "This property shall contain an array of links to resources of type Storage that are connected to or contained in this chassis.",
                    "readonly": true,
                    "type": "array",
                    "versionAdded": "v1_2_0"
                },
                "Storage@odata.count": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
                }
            },
            "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"
        },
        "PhysicalSecurity": {
            "additionalProperties": false,
            "description": "The physical security state of the chassis.",
            "longDescription": "This type shall describe the physical security state of the chassis.",
            "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": {
                "IntrusionSensor": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/IntrusionSensor"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The physical security state of the chassis, such as if hardware intrusion is detected.",
                    "longDescription": "This property shall contain the physical security state of the chassis.  If the IntrusionSensorReArm property contains `Manual`, a client may set this property to `Normal` to reset the physical security state.",
                    "readonly": false,
                    "versionAdded": "v1_1_0"
                },
                "IntrusionSensorNumber": {
                    "description": "A numerical identifier to represent the physical security sensor.",
                    "longDescription": "This property shall contain a numerical identifier for this physical security sensor that is unique within this resource.",
                    "readonly": true,
                    "type": [
                        "integer",
                        "null"
                    ],
                    "versionAdded": "v1_1_0"
                },
                "IntrusionSensorReArm": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/IntrusionSensorReArm"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The policy that describes how the physical security state of the chassis returns to a normal state.",
                    "longDescription": "This property shall contain the policy that describes how the IntrusionSensor property returns to the `Normal` value.",
                    "readonly": true,
                    "versionAdded": "v1_1_0"
                }
            },
            "type": "object"
        },
        "Reset": {
            "additionalProperties": false,
            "description": "This action resets the chassis but does not reset systems or other contained resources, although side effects can occur that affect those resources.",
            "longDescription": "This action shall reset the chassis but shall not reset systems or other contained resources, although side effects can occur that affect those resources.",
            "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 complete 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"
        }
    },
    "owningEntity": "DMTF",
    "release": "2016.1",
    "title": "#Chassis.v1_2_13.Chassis"
}