{
    "$id": "http://redfish.dmtf.org/schemas/v1/OutletGroup.v1_2_0.json",
    "$ref": "#/definitions/OutletGroup",
    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
    "copyright": "Copyright 2014-2024 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": {
                "#OutletGroup.PowerControl": {
                    "$ref": "#/definitions/PowerControl"
                },
                "#OutletGroup.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"
        },
        "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": {
                "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."
                },
                "OutletGroups": {
                    "description": "The set of outlet groups in this outlet group.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/OutletGroup.json#/definitions/OutletGroup"
                    },
                    "longDescription": "This property shall be an array of links to resources of type `OutletGroup` that represent the outlet groups in this outlet group.  This allows representation of a group of outlet groups.  The outlet groups referenced by this property shall not contain other outlet groups.  Services shall only populate either the link for `Outlets` or `OutletGroups`, but not both.",
                    "readonly": false,
                    "type": "array",
                    "versionAdded": "v1_2_0"
                },
                "OutletGroups@odata.count": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
                },
                "Outlets": {
                    "description": "The set of outlets in this outlet group.",
                    "items": {
                        "$ref": "http://redfish.dmtf.org/schemas/v1/Outlet.json#/definitions/Outlet"
                    },
                    "longDescription": "This property shall be an array of links to resources of type `Outlet` that represent the outlets in this outlet group.",
                    "readonly": false,
                    "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"
        },
        "OutletGroup": {
            "additionalProperties": false,
            "description": "The `OutletGroup` schema contains definitions for an electrical outlet group.",
            "longDescription": "This resource shall be used to represent an electrical outlet group 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."
                },
                "ConfigurationLocked": {
                    "description": "Indicates whether the configuration is locked.",
                    "longDescription": "This property shall indicate whether modification requests to this resource are not permitted.  If `true`, services shall reject modification requests to other properties in this resource.",
                    "readonly": false,
                    "type": "boolean",
                    "versionAdded": "v1_1_0"
                },
                "CreatedBy": {
                    "description": "The creator of this outlet group.",
                    "longDescription": "This property shall contain the name of the person or application that created this outlet group.",
                    "readonly": false,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "Description": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "readonly": true
                },
                "EnergykWh": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorEnergykWhExcerpt"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The energy (kWh) for this outlet group.",
                    "excerptCopy": "SensorEnergykWhExcerpt",
                    "longDescription": "This property shall contain the total energy, in kilowatt-hour units, for this outlet group that represents the `Total` `ElectricalContext` sensor when multiple energy sensors exist for this outlet group.  The value of the `DataSourceUri` property, if present, shall reference a resource of type `Sensor` with the `ReadingType` property containing the value `EnergykWh`."
                },
                "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."
                },
                "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."
                },
                "OutletGroupType": {
                    "$ref": "#/definitions/OutletGroupType",
                    "description": "The type of outlet group that this resource represents.",
                    "longDescription": "This property shall describe the type of this outlet group.",
                    "readonly": true,
                    "versionAdded": "v1_2_0"
                },
                "PowerControlLocked": {
                    "description": "Indicates whether power control requests are locked.",
                    "longDescription": "This property shall indicate whether requests to the `PowerControl` action are locked.  If `true`, services shall reject requests to the `PowerControl` action.",
                    "readonly": false,
                    "type": "boolean",
                    "versionAdded": "v1_1_0"
                },
                "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 outlet group can be powered.",
                    "longDescription": "This property shall contain the power enable state of the outlet group.  The value `true` shall indicate that the group can be powered on, and the value `false` shall indicate that the group 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 outlet group when power is restored after a power loss.",
                    "longDescription": "This property shall contain the desired `PowerState` of the outlet group when power is applied.  The value `LastState` shall return the outlet group 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 outlet group.",
                    "longDescription": "This property shall contain the power state of the outlet group.",
                    "readonly": true
                },
                "PowerStateInTransition": {
                    "description": "Indicates whether the power state is undergoing a delayed transition.",
                    "longDescription": "This property shall indicate whether the `PowerState` property will undergo a transition between on and off states due to a configured delay.  The transition may be due to the configuration of the power on, off, or restore delay properties.  If `true`, the `PowerState` property will transition at the conclusion of a configured delay.",
                    "readonly": true,
                    "type": "boolean",
                    "versionAdded": "v1_1_0"
                },
                "PowerWatts": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorPowerExcerpt"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The power (W) for this outlet group.",
                    "excerptCopy": "SensorPowerExcerpt",
                    "longDescription": "This property shall contain the total power, in watt units, for this outlet group that represents the `Total` `ElectricalContext` sensor when multiple power sensors exist for this outlet group.  The value of the `DataSourceUri` property, if present, shall reference a resource of type `Sensor` with the `ReadingType` property containing the value `Power`."
                },
                "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"
        },
        "OutletGroupType": {
            "enum": [
                "HardwareDefined",
                "UserDefined"
            ],
            "enumDescriptions": {
                "HardwareDefined": "A group that is hardware-defined.",
                "UserDefined": "A group that is user-defined."
            },
            "enumLongDescriptions": {
                "HardwareDefined": "This value shall represent an outlet group that is hardware-defined.",
                "UserDefined": "This value shall represent an outlet group that is user-defined."
            },
            "type": "string"
        },
        "PowerControl": {
            "additionalProperties": false,
            "description": "This action turns the outlet group on or off.",
            "longDescription": "This action shall control the power state of the outlet group.",
            "parameters": {
                "PowerState": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Circuit.json#/definitions/PowerState",
                    "description": "The desired power state of the outlet group.",
                    "longDescription": "This parameter shall contain the desired power state of the outlet group."
                }
            },
            "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"
        },
        "ResetMetrics": {
            "additionalProperties": false,
            "description": "This action resets metrics related to this outlet group.",
            "longDescription": "This action shall reset any time intervals or counted values for this outlet group.",
            "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"
        }
    },
    "language": "en",
    "owningEntity": "DMTF",
    "release": "2024.1",
    "title": "#OutletGroup.v1_2_0.OutletGroup"
}