{
    "$id": "http://redfish.dmtf.org/schemas/v1/Circuit.v1_0_0.json",
    "$ref": "#/definitions/Circuit",
    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
    "copyright": "Copyright 2014-2019 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": {
                "#Circuit.BreakerControl": {
                    "$ref": "#/definitions/BreakerControl"
                },
                "#Circuit.PowerControl": {
                    "$ref": "#/definitions/PowerControl"
                },
                "#Circuit.ResetMetrics": {
                    "$ref": "#/definitions/ResetMetrics"
                },
                "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"
        },
        "BreakerControl": {
            "additionalProperties": false,
            "description": "This action attempts to reset the circuit breaker.",
            "longDescription": "This action shall control the state of the circuit breaker or over-current protection device.",
            "parameters": {
                "PowerState": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Circuit.json#/definitions/PowerState",
                    "description": "The desired power state of the circuit if the breaker is reset successfully.",
                    "longDescription": "This parameter shall contain the desired power state of the circuit."
                }
            },
            "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"
        },
        "Circuit": {
            "additionalProperties": false,
            "description": "This is the schema definition for an electrical circuit.",
            "longDescription": "This resource shall be used to represent an electrical circuit 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."
                },
                "BreakerState": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Circuit.json#/definitions/BreakerStates"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The state of the over current protection device.",
                    "longDescription": "This property shall contain the state of the over current protection device.",
                    "readonly": true
                },
                "CircuitType": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/CircuitType"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The type of circuit.",
                    "longDescription": "This property shall contain the type of circuit.",
                    "readonly": true
                },
                "CriticalCircuit": {
                    "description": "Designates if this is a critical circuit.",
                    "longDescription": "This property shall indicate whether the circuit is desginated as a critical circuit, and therefore is excluded from autonomous logic that could affect the state of the circuit.  The value shall be `true` if the circuit is deemed critical, and `false` if the circuit is not critical.",
                    "readonly": false,
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "CurrentAmps": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorCurrentExcerpt"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The current reading for this single phase circuit.",
                    "excerptCopy": "SensorCurrentExcerpt",
                    "longDescription": "This property shall contain the current, measured in Amperes, for this single phase circuit.  This property shall not appear in resource instances representing poly-phase circuits.",
                    "readonly": true
                },
                "Description": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "readonly": true
                },
                "ElectricalContext": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/ElectricalContext"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The combination of current-carrying conductors.",
                    "longDescription": "This property shall contain the combination of current-carrying conductors that distribute power.",
                    "readonly": true
                },
                "EnergykWh": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorEnergykWhExcerpt"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The energy reading for this circuit.",
                    "excerptCopy": "SensorEnergykWhExcerpt",
                    "longDescription": "This property shall contain the total energy, measured in kilowatt-hours (kW.h), for this circuit, that represents the `Total` ElectricalContext sensor when multiple energy sensors exist for this circuit.",
                    "readonly": true
                },
                "FrequencyHz": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorExcerpt"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The frequency reading for this circuit.",
                    "excerptCopy": "SensorExcerpt",
                    "longDescription": "This property shall contain the frequency sensor for this circuit.",
                    "readonly": true
                },
                "Id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
                    "readonly": true
                },
                "IndicatorLED": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/IndicatorLED"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The state of the indicator LED, which identifies the circuit.",
                    "longDescription": "This property shall contain the indicator light state for the indicator light associated with this circuit.",
                    "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."
                },
                "Name": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
                    "readonly": true
                },
                "NominalVoltage": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Circuit.json#/definitions/NominalVoltageType"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The nominal voltage for this circuit.",
                    "longDescription": "This property shall contain the nominal voltage for this circuit, in Volts.",
                    "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."
                },
                "PhaseWiringType": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Circuit.json#/definitions/PhaseWiringType"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The number of ungrounded current-carrying conductors (phases) and the total number of conductors (wires).",
                    "longDescription": "This property shall contain the number of ungrounded current-carrying conductors (phases) and the total number of conductors (wires).",
                    "readonly": true
                },
                "PlugType": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Circuit.json#/definitions/PlugType"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The type of plug according to NEMA, IEC, or regional standards.",
                    "longDescription": "This property shall contain the type of physical plug used for this circuit, as defined by IEC, NEMA, or regional standard.",
                    "readonly": true
                },
                "PolyPhaseCurrentAmps": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/CurrentSensors"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The current readings for this circuit.",
                    "longDescription": "This property shall contain the current sensor(s) for this circuit.  For single phase circuits this property shall contain a duplicate copy of the current sensor referenced in the CurrentSensor property, if present.  For poly-phase circuits this property should contain multiple current sensor readings used to fully describe the circuit."
                },
                "PolyPhaseEnergykWh": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/EnergySensors"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The energy readings for this circuit.",
                    "longDescription": "This property shall contain the energy sensor(s) for this circuit. For single phase circuits this property shall contain a duplicate copy of the energy sensor referenced in the EnergySensor property, if present.  For poly-phase circuits this property should contain multiple energy sensor readings used to fully describe the circuit."
                },
                "PolyPhasePowerWatts": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/PowerSensors"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The power readings for this circuit.",
                    "longDescription": "This property shall contain the power sensor(s) for this circuit.  For single phase circuits this property shall contain a duplicate copy of the power sensor referenced in the PowerSensor property, if present.  For poly-phase circuits this property should contain multiple power sensor readings used to fully describe the circuit."
                },
                "PolyPhaseVoltage": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/VoltageSensors"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The voltage readings for this circuit.",
                    "longDescription": "This property shall contain the voltage sensor(s) for this circuit.  For single phase circuits this property shall contain a duplicate copy of the voltage sensor referenced in the VoltageSensor property, if present.  For poly-phase circuits this property should contain multiple voltage sensor readings used to fully describe the circuit."
                },
                "PowerCycleDelaySeconds": {
                    "description": "The number of seconds to delay power on after a PowerControl action to cycle power.  Zero seconds indicates no delay.",
                    "longDescription": "This property shall contain the number of seconds to delay power on after a PowerControl action to cycle power.  The value `0` shall indicate no delay to power on.",
                    "readonly": false,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "PowerEnabled": {
                    "description": "Indicates if the circuit can be powered.",
                    "longDescription": "This property shall indicate the power enable state of the circuit.  The value `true` shall indicate that the circuit may be powered on, and `false` shall indicate that the circuit cannot be powered.",
                    "readonly": true,
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "PowerOffDelaySeconds": {
                    "description": "The number of seconds to delay power off after a PowerControl action.  Zero seconds indicates no delay to power off.",
                    "longDescription": "This property shall contain the number of seconds to delay power off after a PowerControl action.  The value `0` shall indicate no delay to power off.",
                    "readonly": false,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "PowerOnDelaySeconds": {
                    "description": "The number of seconds to delay power up after a power cycle or a PowerControl action.  Zero seconds indicates no delay to power up.",
                    "longDescription": "This property shall contain the number of seconds to delay power up after a power cycle or a PowerControl action.  The value `0` shall indicate no delay to power up.",
                    "readonly": false,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "PowerRestoreDelaySeconds": {
                    "description": "The number of seconds to delay power on after power has been restored.  Zero seconds indicates no delay.",
                    "longDescription": "This property shall contain the number of seconds to delay power on after a power fault.  The value `0` shall indicate no delay to power on.",
                    "readonly": false,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "PowerRestorePolicy": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Circuit.json#/definitions/PowerRestorePolicyTypes",
                    "description": "The desired power state of the circuit when power is restored after a power loss.",
                    "longDescription": "This property shall contain the desired PowerState of the circuit when power is applied.  The value `LastState` shall return the circuit to the PowerState it was in when power was lost.",
                    "readonly": false
                },
                "PowerState": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/PowerState"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The power state of the circuit.",
                    "longDescription": "This property shall contain the power state of the circuit.",
                    "readonly": true
                },
                "PowerWatts": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorPowerExcerpt"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The power reading for this circuit.",
                    "excerptCopy": "SensorPowerExcerpt",
                    "longDescription": "This property shall contain the total power, measured in Watts, for this circuit, that represents the `Total` ElectricalContext sensor when multiple power sensors exist for this circuit.",
                    "readonly": true
                },
                "RatedCurrentAmps": {
                    "description": "The rated maximum current allowed for this circuit.",
                    "longDescription": "This property shall contain the rated maximum current for this circuit, in Amps, after any required de-rating, due to safety agency or other regulatory requirements, has been applied.",
                    "minimum": 0,
                    "readonly": true,
                    "type": [
                        "number",
                        "null"
                    ],
                    "units": "A"
                },
                "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."
                },
                "Voltage": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorVoltageExcerpt"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The voltage reading for this single phase circuit.",
                    "excerptCopy": "SensorVoltageExcerpt",
                    "longDescription": "This property shall contain the voltage, measured in Volts, for this single phase circuit.  This property shall not appear in resource instances representing poly-phase circuits.",
                    "readonly": true
                },
                "VoltageType": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/VoltageType"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The type of voltage applied to the circuit.",
                    "longDescription": "This property shall contain the type of voltage applied to the circuit.",
                    "readonly": true
                }
            },
            "required": [
                "@odata.id",
                "@odata.type",
                "Id",
                "Name"
            ],
            "type": "object"
        },
        "CircuitType": {
            "enum": [
                "Mains",
                "Branch",
                "Subfeed",
                "Feeder"
            ],
            "enumDescriptions": {
                "Branch": "A branch (output) circuit.",
                "Feeder": "A feeder (output) circuit.",
                "Mains": "A mains input or utility circuit.",
                "Subfeed": "A subfeed (output) circuit."
            },
            "type": "string"
        },
        "CurrentSensors": {
            "additionalProperties": false,
            "description": "The current sensors for this circuit.",
            "longDescription": "This type shall contain properties that describe current sensor readings for a circuit.",
            "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": {
                "Line1": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorCurrentExcerpt"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Line 1 current sensor.",
                    "excerptCopy": "SensorCurrentExcerpt",
                    "longDescription": "This property shall contain a CurrentSensor excerpt that measures current for L1.  This property shall not be present if the circuit does not include an L1 measurement.",
                    "readonly": true
                },
                "Line2": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorCurrentExcerpt"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Line 2 current sensor.",
                    "excerptCopy": "SensorCurrentExcerpt",
                    "longDescription": "This property shall contain a CurrentSensor excerpt that measures current for L2.  This property shall not be present if the circuit does not include an L2 measurement.",
                    "readonly": true
                },
                "Line3": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorCurrentExcerpt"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Line 3 current sensor.",
                    "excerptCopy": "SensorCurrentExcerpt",
                    "longDescription": "This property shall contain a CurrentSensor excerpt that measures current for L3.  This property shall not be present if the circuit does not include an L3 measurement.",
                    "readonly": true
                },
                "Neutral": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorCurrentExcerpt"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Neutral line current sensor.",
                    "excerptCopy": "SensorCurrentExcerpt",
                    "longDescription": "This property shall contain a CurrentSensor excerpt that measures current for the Neutral line.  This property shall not be present if the circuit does not include a Neutral measurement.",
                    "readonly": true
                }
            },
            "type": "object"
        },
        "EnergySensors": {
            "additionalProperties": false,
            "description": "The energy readings for this circuit.",
            "longDescription": "This type shall contain properties that describe energy sensor readings for a circuit.",
            "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": {
                "Line1ToLine2": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorEnergykWhExcerpt"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The Line 1 to Line 2 energy reading for this circuit.",
                    "excerptCopy": "SensorEnergykWhExcerpt",
                    "longDescription": "This property shall contain a EnergykWhSensor excerpt that measures energy between L1 and L2.  This property shall not be present if the circuit does not include an L1-L2 measurement.",
                    "readonly": true
                },
                "Line1ToNeutral": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorEnergykWhExcerpt"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The Line 1 to Neutral energy reading for this circuit.",
                    "excerptCopy": "SensorEnergykWhExcerpt",
                    "longDescription": "This property shall contain a EnergykWhSensor excerpt that measures energy between L1 and Neutral.  This property shall not be present if the circuit does not include an L1-Neutral measurement.",
                    "readonly": true
                },
                "Line2ToLine3": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorEnergykWhExcerpt"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The Line 2 to Line 3 energy reading for this circuit.",
                    "excerptCopy": "SensorEnergykWhExcerpt",
                    "longDescription": "This property shall contain a EnergykWhSensor excerpt that measures energy between L2 and L3.  This property shall not be present if the circuit does not include an L2-L3 measurement.",
                    "readonly": true
                },
                "Line2ToNeutral": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorEnergykWhExcerpt"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The Line 2 to Neutral energy reading for this circuit.",
                    "excerptCopy": "SensorEnergykWhExcerpt",
                    "longDescription": "This property shall contain a EnergykWhSensor excerpt that measures energy between L2 and Neutral.  This property shall not be present if the circuit does not include an L2-Neutral measurement.",
                    "readonly": true
                },
                "Line3ToLine1": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorEnergykWhExcerpt"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The Line 3 to Line 1 energy reading for this circuit.",
                    "excerptCopy": "SensorEnergykWhExcerpt",
                    "longDescription": "This property shall contain a EnergykWhSensor excerpt that measures energy between L3 and L1.  This property shall not be present if the circuit does not include an L3-L1 measurement.",
                    "readonly": true
                },
                "Line3ToNeutral": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorEnergykWhExcerpt"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The Line 3 to Neutral energy reading for this circuit.",
                    "excerptCopy": "SensorEnergykWhExcerpt",
                    "longDescription": "This property shall contain a EnergykWhSensor excerpt that measures energy between L3 and Neutral.  This property shall not be present if the circuit does not include an L3-Neutral measurement.",
                    "readonly": true
                }
            },
            "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": {
                "BranchCircuit": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Circuit.json#/definitions/Circuit"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "A reference to the branch circuit related to this circuit.",
                    "longDescription": "This property shall contain a link to a resource of type Circuit that represents the branch circuit associated with this circuit.",
                    "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 contained in this object shall conform to the Redfish Specification-described requirements."
                },
                "Outlets": {
                    "description": "An array of references to the outlets contained by this circuit.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/Outlet.json#/definitions/Outlet"
                    },
                    "longDescription": "This property shall contain an array of links to resources of type Outlet that represent the outlets associated with this circuit.",
                    "readonly": true,
                    "type": "array"
                },
                "Outlets@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"
        },
        "PowerControl": {
            "additionalProperties": false,
            "description": "This action turns the circuit on or off.",
            "longDescription": "This action shall control the power state of the circuit.",
            "parameters": {
                "PowerState": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/PowerState",
                    "description": "The desired power state of the circuit.",
                    "longDescription": "This parameter shall contain the desired power state of the circuit."
                }
            },
            "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"
        },
        "PowerSensors": {
            "additionalProperties": false,
            "description": "This property contains the power sensors.",
            "longDescription": "This type shall contain properties that describe power sensor readings for a circuit.",
            "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": {
                "Line1ToLine2": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorPowerExcerpt"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The Line 1 to Line 2 power reading for this circuit.",
                    "excerptCopy": "SensorPowerExcerpt",
                    "longDescription": "This property shall contain a PowerSensor excerpt that measures power between L1 and L2.  This property shall not be present if the circuit does not include an L1-L2 measurement.",
                    "readonly": true
                },
                "Line1ToNeutral": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorPowerExcerpt"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The Line 1 to Neutral power reading for this circuit.",
                    "excerptCopy": "SensorPowerExcerpt",
                    "longDescription": "This property shall contain a PowerSensor excerpt that measures power between L1 and Neutral.  This property shall not be present if the circuit does not include an L1-Neutral measurement.",
                    "readonly": true
                },
                "Line2ToLine3": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorPowerExcerpt"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The Line 2 to Line 3 power reading for this circuit.",
                    "excerptCopy": "SensorPowerExcerpt",
                    "longDescription": "This property shall contain a PowerSensor excerpt that measures power between L2 and L3.  This property shall not be present if the circuit does not include an L2-L3 measurement.",
                    "readonly": true
                },
                "Line2ToNeutral": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorPowerExcerpt"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The Line 2 to Neutral power reading for this circuit.",
                    "excerptCopy": "SensorPowerExcerpt",
                    "longDescription": "This property shall contain a PowerSensor excerpt that measures power between L2 and Neutral.  This property shall not be present if the circuit does not include an L2-Neutral measurement.",
                    "readonly": true
                },
                "Line3ToLine1": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorPowerExcerpt"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The Line 3 to Line 1 power reading for this circuit.",
                    "excerptCopy": "SensorPowerExcerpt",
                    "longDescription": "This property shall contain a PowerSensor excerpt that measures power between L3 and L1.  This property shall not be present if the circuit does not include an L3-L1 measurement.",
                    "readonly": true
                },
                "Line3ToNeutral": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorPowerExcerpt"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The Line 3 to Neutral power reading for this circuit.",
                    "excerptCopy": "SensorPowerExcerpt",
                    "longDescription": "This property shall contain a PowerSensor excerpt that measures power between L3 and Neutral.  This property shall not be present if the circuit does not include an L3-Neutral measurement.",
                    "readonly": true
                }
            },
            "type": "object"
        },
        "ResetMetrics": {
            "additionalProperties": false,
            "description": "This action resets metrics related to this circuit.",
            "longDescription": "This action shall reset any time intervals or counted values for this 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"
        },
        "VoltageSensors": {
            "additionalProperties": false,
            "description": "The voltage readings for this circuit.",
            "longDescription": "This type shall contain properties that describe voltage sensor readings for a circuit.",
            "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": {
                "Line1ToLine2": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorVoltageExcerpt"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The Line 1 to Line 2 voltage reading for this circuit.",
                    "excerptCopy": "SensorVoltageExcerpt",
                    "longDescription": "This property shall contain a VoltageSensor excerpt that measures voltage between L1 and L2.  This property shall not be present if the circuit does not include an L1-L2 measurement.",
                    "readonly": true
                },
                "Line1ToNeutral": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorVoltageExcerpt"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The Line 1 to Neutral voltage reading for this circuit.",
                    "excerptCopy": "SensorVoltageExcerpt",
                    "longDescription": "This property shall contain a VoltageSensor excerpt that measures voltage between L1 and Neutral.  This property shall not be present if the circuit does not include an L1-Neutral measurement.",
                    "readonly": true
                },
                "Line2ToLine3": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorVoltageExcerpt"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The Line 2 to Line 3 voltage reading for this circuit.",
                    "excerptCopy": "SensorVoltageExcerpt",
                    "longDescription": "This property shall contain a VoltageSensor excerpt that measures voltage between L2 and L3.  This property shall not be present if the circuit does not include an L2-L3 measurement.",
                    "readonly": true
                },
                "Line2ToNeutral": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorVoltageExcerpt"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The Line 2 to Neutral voltage reading for this circuit.",
                    "excerptCopy": "SensorVoltageExcerpt",
                    "longDescription": "This property shall contain a VoltageSensor excerpt that measures voltage between L2 and Neutral.  This property shall not be present if the circuit does not include an L2-Neutral measurement.",
                    "readonly": true
                },
                "Line3ToLine1": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorVoltageExcerpt"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The Line 3 to Line 1 voltage reading for this circuit.",
                    "excerptCopy": "SensorVoltageExcerpt",
                    "longDescription": "This property shall contain a VoltageSensor excerpt that measures voltage between L3 and L1.  This property shall not be present if the circuit does not include an L3-L1 measurement.",
                    "readonly": true
                },
                "Line3ToNeutral": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorVoltageExcerpt"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The Line 3 to Neutral voltage reading for this circuit.",
                    "excerptCopy": "SensorVoltageExcerpt",
                    "longDescription": "This property shall contain a VoltageSensor excerpt that measures voltage between L3 and Neutral.  This property shall not be present if the circuit does not include an L3-Neutral measurement.",
                    "readonly": true
                }
            },
            "type": "object"
        },
        "VoltageType": {
            "enum": [
                "AC",
                "DC"
            ],
            "enumDescriptions": {
                "AC": "Alternating Current (AC) circuit.",
                "DC": "Direct Current (DC) circuit."
            },
            "type": "string"
        }
    },
    "owningEntity": "DMTF",
    "release": "2019.4",
    "title": "#Circuit.v1_0_0.Circuit"
}