{
    "$id": "http://redfish.dmtf.org/schemas/v1/PowerDistribution.v1_0_5.json",
    "$ref": "#/definitions/PowerDistribution",
    "$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": {
                "#PowerDistribution.TransferControl": {
                    "$ref": "#/definitions/TransferControl"
                },
                "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"
        },
        "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 contain this equipment.",
                    "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 represents the physical container associated with this resource.",
                    "readonly": true,
                    "type": "array"
                },
                "Chassis@odata.count": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
                },
                "Facility": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Facility.json#/definitions/Facility",
                    "description": "A link to the facility that contains this equipment.",
                    "longDescription": "This property shall contain a link to a resource of type Facility that represents the facility that contains this equipment.",
                    "readonly": true
                },
                "ManagedBy": {
                    "description": "An array of links to the managers responsible for managing this equipment.",
                    "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 represent the managers that manage this equipment.",
                    "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."
                }
            },
            "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"
        },
        "PowerDistribution": {
            "additionalProperties": false,
            "description": "This is the schema definition for a power distribution component or unit, such as a floor power distribution unit (PDU) or switchgear.",
            "longDescription": "This resource shall be used to represent a power distribution component or unit 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 for this equipment.",
                    "longDescription": "This property shall contain the user-assigned asset tag, which is an identifying string that tracks the equipment for inventory purposes.",
                    "readonly": false,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "Branches": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/CircuitCollection.json#/definitions/CircuitCollection",
                    "description": "A link to the branch circuits for this equipment.",
                    "longDescription": "This property shall contain a link to a resource collection of type CircuitCollection that contains the branch circuits for this equipment.",
                    "readonly": true
                },
                "Description": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "readonly": true
                },
                "EquipmentType": {
                    "$ref": "#/definitions/PowerEquipmentType",
                    "description": "The type of equipment this resource represents.",
                    "longDescription": "This property shall contain the type of equipment this resource represents.",
                    "readonly": true
                },
                "Feeders": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/CircuitCollection.json#/definitions/CircuitCollection",
                    "description": "A link to the feeder circuits for this equipment.",
                    "longDescription": "This property shall contain a link to a resource collection of type CircuitCollection that contains the feeder circuits for this equipment.",
                    "readonly": true
                },
                "FirmwareVersion": {
                    "description": "The firmware version of this equipment.",
                    "longDescription": "This property shall contain a string describing the firmware version of this equipment as provided by the manufacturer.",
                    "readonly": true,
                    "type": "string"
                },
                "Id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
                    "readonly": true
                },
                "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 equipment.",
                    "longDescription": "This property shall contain location information of the associated equipment."
                },
                "Mains": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/CircuitCollection.json#/definitions/CircuitCollection",
                    "description": "A link to the power input circuits for this equipment.",
                    "longDescription": "This property shall contain a link to a resource collection of type CircuitCollection that contains the power input circuits for this equipment.",
                    "readonly": true
                },
                "Manufacturer": {
                    "description": "The manufacturer of this equipment.",
                    "longDescription": "This property shall contain the name of the organization responsible for producing the equipment.  This organization may be the entity from which the equipment is purchased, but this is not necessarily true.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "Metrics": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/PowerDistributionMetrics.json#/definitions/PowerDistributionMetrics",
                    "description": "A link to the summary metrics for this equipment.",
                    "longDescription": "This property shall contain a link to a resource of type PowerDistributionMetrics.",
                    "readonly": true
                },
                "Model": {
                    "description": "The product model number of this equipment.",
                    "longDescription": "This property shall contain the manufacturer-provided model information of this equipment.",
                    "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."
                },
                "OutletGroups": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/OutletGroupCollection.json#/definitions/OutletGroupCollection",
                    "description": "A link to the outlet groups for this equipment.",
                    "longDescription": "This property shall contain a link to a resource collection of type OutletCollection that contains the outlet groups for this equipment.",
                    "readonly": true
                },
                "Outlets": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/OutletCollection.json#/definitions/OutletCollection",
                    "description": "A link to the outlets for this equipment.",
                    "longDescription": "This property shall contain a link to a resource collection of type OutletCollection that contains the outlets for this equipment.",
                    "readonly": true
                },
                "PartNumber": {
                    "description": "The part number for this equipment.",
                    "longDescription": "This property shall contain the manufacturer-provided part number for the equipment.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "ProductionDate": {
                    "description": "The production or manufacturing date of this equipment.",
                    "format": "date-time",
                    "longDescription": "This property shall contain the date of production or manufacture for this equipment.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "Sensors": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/SensorCollection.json#/definitions/SensorCollection",
                    "description": "A link to the collection of sensors located in the equipment and sub-components.",
                    "longDescription": "This property shall be a link to a resource collection of type SensorCollection that contains the sensors located in the equipment and sub-components.",
                    "readonly": true
                },
                "SerialNumber": {
                    "description": "The serial number for this equipment.",
                    "longDescription": "This property shall contain a manufacturer-allocated number that identifies the equipment.",
                    "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."
                },
                "Subfeeds": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/CircuitCollection.json#/definitions/CircuitCollection",
                    "description": "A link to the subfeed circuits for this equipment.",
                    "longDescription": "This property shall contain a link to a resource collection of type CircuitCollection that contains the subfeed circuits for this equipment.",
                    "readonly": true
                },
                "TransferConfiguration": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/TransferConfiguration"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The configuration settings for an automatic transfer switch.",
                    "longDescription": "This property shall contain the configuration information regarding an automatic transfer switch function for this resource."
                },
                "TransferCriteria": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/TransferCriteria"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The criteria used to initiate a transfer for an automatic transfer switch.",
                    "longDescription": "This property shall contain the criteria for initiating a transfer within an automatic transfer switch function for this resource."
                },
                "UUID": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/UUID"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The UUID for this equipment.",
                    "longDescription": "This property shall contain the UUID for the equipment.",
                    "readonly": true
                },
                "Version": {
                    "description": "The hardware version of this equipment.",
                    "longDescription": "This property shall contain the hardware version of this equipment as determined by the vendor or supplier.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "required": [
                "EquipmentType",
                "@odata.id",
                "@odata.type",
                "Id",
                "Name"
            ],
            "type": "object"
        },
        "PowerEquipmentType": {
            "enum": [
                "RackPDU",
                "FloorPDU",
                "ManualTransferSwitch",
                "AutomaticTransferSwitch",
                "Switchgear"
            ],
            "enumDescriptions": {
                "AutomaticTransferSwitch": "An automatic power transfer switch.",
                "FloorPDU": "A power distribution unit providing feeder circuits for further power distribution.",
                "ManualTransferSwitch": "A manual power transfer switch.",
                "RackPDU": "A power distribution unit providing outlets for a rack or similar quantity of devices.",
                "Switchgear": "Electrical switchgear."
            },
            "type": "string"
        },
        "TransferConfiguration": {
            "additionalProperties": false,
            "description": "The configuration settings for an automatic transfer switch.",
            "longDescription": "This type shall contain the configuration information regarding an automatic transfer switch function 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": {
                "ActiveMainsId": {
                    "description": "The mains circuit that is switched on and qualified to supply power to the output circuit.",
                    "longDescription": "This property shall contain the mains circuit that is switched on and qualified to supply power to the output circuit.  The value shall be a string that matches the Id property value of a circuit contained in the collection referenced by the Mains property.",
                    "readonly": false,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "AutoTransferEnabled": {
                    "description": "Indicates if the qualified alternate mains circuit is automatically switched on when the preferred mains circuit becomes unqualified and is automatically switched off.",
                    "longDescription": "This property shall indicate if the qualified alternate mains circuit is automatically switched on when the preferred mains circuit becomes unqualified and is automatically switched off.",
                    "readonly": false,
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "ClosedTransitionAllowed": {
                    "description": "Indicates if a make-before-break switching sequence of the mains circuits is permitted when they are both qualified and in synchronization.",
                    "longDescription": "This property shall indicate if a make-before-break switching sequence of the mains circuits is permitted when they are both qualified and in synchronization.",
                    "readonly": false,
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "ClosedTransitionTimeoutSeconds": {
                    "description": "The time in seconds to wait for a closed transition to occur.",
                    "longDescription": "This property shall contain the time in seconds to wait for a closed transition to occur.",
                    "readonly": false,
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "PreferredMainsId": {
                    "description": "The preferred source for the mains circuit to this equipment.",
                    "longDescription": "This property shall contain the preferred source for mains circuit to this equipment.  The value shall be a string that matches the Id property value of a circuit contained in the collection referenced by the Mains property.",
                    "readonly": false,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "RetransferDelaySeconds": {
                    "description": "The time in seconds to delay the automatic transfer from the alternate mains circuit back to the preferred mains circuit.",
                    "longDescription": "This property shall contain the time in seconds to delay the automatic transfer from the alternate mains circuit back to the preferred mains circuit.",
                    "readonly": false,
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "RetransferEnabled": {
                    "description": "Indicates if the automatic transfer is permitted from the alternate mains circuit back to the preferred mains circuit after the preferred mains circuit is qualified again and the Retransfer Delay time has expired.",
                    "longDescription": "This property shall indicate if the automatic transfer is permitted from the alternate mains circuit back to the preferred mains circuit after the preferred mains circuit is qualified again and the RetransferDelaySeconds time has expired.",
                    "readonly": false,
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "TransferDelaySeconds": {
                    "description": "The time in seconds to delay the automatic transfer from the preferred mains circuit to the alternate mains circuit when the preferred mains circuit is disqualified.",
                    "longDescription": "This property shall contain the time in seconds to delay the automatic transfer from the preferred mains circuit to the alternate mains circuit when the preferred mains circuit is disqualified.  A value of zero shall mean it transfers as fast as possible.",
                    "readonly": false,
                    "type": [
                        "integer",
                        "null"
                    ]
                },
                "TransferInhibit": {
                    "description": "Indicates if any transfer is inhibited.",
                    "longDescription": "This property shall indicate if any transfer is inhibited.",
                    "readonly": false,
                    "type": [
                        "boolean",
                        "null"
                    ]
                }
            },
            "type": "object"
        },
        "TransferControl": {
            "additionalProperties": false,
            "description": "This action transfers control to the alternative input circuit.",
            "longDescription": "This action shall transfer power input from the existing mains circuit to the alternative mains circuit.",
            "parameters": {},
            "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"
        },
        "TransferCriteria": {
            "additionalProperties": false,
            "description": "The criteria used to initiate a transfer for an automatic transfer switch.",
            "longDescription": "This type shall contain the criteria for initiating a transfer within an automatic transfer switch function 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": {
                "OverNominalFrequencyHz": {
                    "description": "The frequency in hertz over the nominal value that satisfies a criterion for transfer.",
                    "longDescription": "This property shall contain the frequency in hertz over the nominal value that satisfies a criterion for transfer.",
                    "readonly": false,
                    "type": [
                        "number",
                        "null"
                    ],
                    "units": "Hz"
                },
                "OverVoltageRMSPercentage": {
                    "description": "The positive percentage of voltage RMS over the nominal value that satisfies a criterion for transfer.",
                    "longDescription": "This property shall contain the positive percentage of voltage RMS over the nominal value that satisfies a criterion for transfer.",
                    "readonly": false,
                    "type": [
                        "number",
                        "null"
                    ],
                    "units": "%"
                },
                "TransferSensitivity": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/TransferSensitivityType"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The sensitivity to voltage waveform quality to satisfy the criterion for initiating a transfer.",
                    "longDescription": "This property shall contain the setting that adjusts the analytical sensitivity of the detection of the quality of voltage waveform that satisfies a criterion for transfer.",
                    "readonly": false
                },
                "UnderNominalFrequencyHz": {
                    "description": "The frequency in hertz under the nominal value that satisfies a criterion for transfer.",
                    "longDescription": "This property shall contain the frequency in hertz under the nominal value that satisfies a criterion for transfer.",
                    "readonly": false,
                    "type": [
                        "number",
                        "null"
                    ],
                    "units": "Hz"
                },
                "UnderVoltageRMSPercentage": {
                    "description": "The negative percentage of voltage RMS under the nominal value that satisfies a criterion for transfer.",
                    "longDescription": "This property shall contain the negative percentage of voltage RMS under the nominal value that satisfies a criterion for transfer.",
                    "readonly": false,
                    "type": [
                        "number",
                        "null"
                    ],
                    "units": "%"
                }
            },
            "type": "object"
        },
        "TransferSensitivityType": {
            "enum": [
                "High",
                "Medium",
                "Low"
            ],
            "enumDescriptions": {
                "High": "High sensitivity for initiating a transfer.",
                "Low": "Low sensitivity for initiating a transfer.",
                "Medium": "Medium sensitivity for initiating a transfer."
            },
            "type": "string"
        }
    },
    "owningEntity": "DMTF",
    "release": "2019.4",
    "title": "#PowerDistribution.v1_0_5.PowerDistribution"
}