{
    "$id": "http://redfish.dmtf.org/schemas/v1/PowerSubsystem.v1_1_0.json",
    "$ref": "#/definitions/PowerSubsystem",
    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
    "copyright": "Copyright 2014-2021 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."
                }
            },
            "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"
        },
        "PowerAllocation": {
            "additionalProperties": false,
            "description": "Power allocation for a subsystem.",
            "longDescription": "This type shall contain the set of properties describing the allocation of power for a subsystem.",
            "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": {
                "AllocatedWatts": {
                    "description": "The total amount of power that has been allocated or budgeted to this subsystem.",
                    "longDescription": "This property shall represent the total power currently allocated or budgeted to this subsystem.",
                    "minimum": 0,
                    "readonly": true,
                    "type": [
                        "number",
                        "null"
                    ],
                    "units": "W"
                },
                "RequestedWatts": {
                    "description": "The potential power, in watts, that the subsystem requests, which might be higher than the current level being consumed because the requested power includes a budget that the subsystem wants for future use.",
                    "longDescription": "This property shall represent the amount of power, in watts, that the subsystem currently requests to be budgeted for future use.",
                    "minimum": 0,
                    "readonly": true,
                    "type": [
                        "number",
                        "null"
                    ],
                    "units": "W"
                }
            },
            "type": "object"
        },
        "PowerSubsystem": {
            "additionalProperties": false,
            "description": "This PowerSubsystem schema contains the definition for the power subsystem of a chassis.",
            "longDescription": "This resource shall represent a power subsystem 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": "The Actions property shall contain the available actions for this resource."
                },
                "Allocation": {
                    "$ref": "#/definitions/PowerAllocation",
                    "description": "Power allocation for this subsystem.",
                    "longDescription": "This property shall contain the set of properties describing the allocation of power for this subsystem."
                },
                "Batteries": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/BatteryCollection.json#/definitions/BatteryCollection",
                    "description": "The link to the collection of batteries within this subsystem.",
                    "longDescription": "This property shall contain a link to a resource collection of type BatteryCollection.",
                    "readonly": true,
                    "versionAdded": "v1_1_0"
                },
                "CapacityWatts": {
                    "description": "The total amount of power that can be allocated to this subsystem.  This value can be either the power supply capacity or the power budget that an upstream chassis assigns to this subsystem.",
                    "longDescription": "This property shall represent the total power capacity that can be allocated to this subsystem.",
                    "minimum": 0,
                    "readonly": true,
                    "type": [
                        "number",
                        "null"
                    ],
                    "units": "W"
                },
                "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
                },
                "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."
                },
                "PowerSupplies": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/PowerSupplyCollection.json#/definitions/PowerSupplyCollection",
                    "description": "The link to the collection of power supplies within this subsystem.",
                    "longDescription": "This property shall contain a link to a resource collection of type PowerSupplyCollection.",
                    "readonly": true
                },
                "PowerSupplyRedundancy": {
                    "description": "The redundancy information for the set of power supplies in this subsystem.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/Redundancy.json#/definitions/RedundantGroup"
                    },
                    "longDescription": "This property shall contain redundancy information for the set of power supplies in this subsystem.  The values of the RedundancyGroup array shall reference resources of type PowerSupply.",
                    "type": "array"
                },
                "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."
                }
            },
            "required": [
                "@odata.id",
                "@odata.type",
                "Id",
                "Name"
            ],
            "type": "object"
        }
    },
    "owningEntity": "DMTF",
    "release": "2021.2",
    "title": "#PowerSubsystem.v1_1_0.PowerSubsystem"
}