#Resource

Schema Definition

{
    "$id": "Resource.json",
    "copyright": "Copyright 2014-2024 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
    "$schema": "http://json-schema.org/draft-07/schema#",
    "definitions": {
        "Condition": {
            "additionalProperties": false,
            "description": "A condition that requires attention.",
            "longDescription": "This type shall contain the description and details of a condition that exists within this resource or a related resource that requires attention.",
            "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": {
                "Message": {
                    "description": "The human-readable message for this condition.",
                    "longDescription": "This property shall contain a human-readable message describing this condition.",
                    "readonly": true,
                    "type": "string"
                },
                "MessageArgs": {
                    "description": "An array of message arguments that are substituted for the arguments in the message when looked up in the message registry.",
                    "items": {
                        "type": "string"
                    },
                    "longDescription": "This property shall contain an array of message arguments that are substituted for the arguments in the message when looked up in the message registry.  It has the same semantics as the `MessageArgs` property in the Redfish `MessageRegistry` schema.",
                    "readonly": true,
                    "type": "array"
                },
                "MessageId": {
                    "description": "The identifier for the message.",
                    "longDescription": "This property shall contain a `MessageId`, as defined in the 'MessageId format' clause of the Redfish Specification.",
                    "readonly": true,
                    "type": "string"
                },
                "OriginOfCondition": {
                    "$ref": "odata-v4.json#/definitions/idRef",
                    "description": "A link to the resource or object that originated the condition.",
                    "longDescription": "This property shall contain a link to the resource or object that originated the condition.  This property shall not be present if the condition was caused by this resource.",
                    "readonly": true
                },
                "Resolution": {
                    "description": "Suggestions on how to resolve the condition.",
                    "longDescription": "This property shall contain the resolution of the condition.  Services should replace the resolution defined in the message registry with a more specific resolution.",
                    "readonly": true,
                    "type": "string",
                    "versionAdded": "v1_14_0"
                },
                "Severity": {
                    "$ref": "#/definitions/Health",
                    "description": "The severity of the condition.",
                    "longDescription": "This property shall contain the severity of the condition.  Services can replace the value defined in the message registry with a value more applicable to the implementation.",
                    "readonly": true
                },
                "Timestamp": {
                    "description": "The time the condition occurred.",
                    "format": "date-time",
                    "longDescription": "This property shall indicate the time the condition occurred.",
                    "readonly": true,
                    "type": "string"
                },
                "UserAuthenticationSource": {
                    "description": "The source of authentication for the username property associated with the condition.",
                    "longDescription": "This property shall contain the URL to the authentication service that is associated with the username property.  This should be used for conditions that result from a user action.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ],
                    "versionAdded": "v1_20_0"
                },
                "Username": {
                    "description": "The username of the account associated with the condition.",
                    "longDescription": "This property shall contain the username of the account associated with the condition.  This should be used for conditions that result from a user action.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ],
                    "versionAdded": "v1_20_0"
                }
            },
            "required": [
                "MessageId"
            ],
            "type": "object"
        },
        "Description": {
            "description": "The description of this resource.  Used for commonality in the schema definitions.",
            "longDescription": "This property shall contain the description of this resource.  The value shall conform with the 'Description' clause of the Redfish Specification.",
            "type": "string"
        },
        "Health": {
            "enum": [
                "OK",
                "Warning",
                "Critical"
            ],
            "enumDescriptions": {
                "Critical": "A critical condition requires immediate attention.",
                "OK": "Normal.",
                "Warning": "A condition requires attention."
            },
            "type": "string"
        },
        "Id": {
            "description": "The unique identifier for this resource within the collection of similar resources.",
            "longDescription": "This property shall contain the identifier for this resource.  The value shall conform with the 'Id' clause of the Redfish Specification.",
            "type": "string"
        },
        "Identifier": {
            "anyOf": [
                {
                    "$ref": "Resource.v1_20_0.json#/definitions/Identifier"
                }
            ],
            "description": "Any additional identifiers for a resource.",
            "longDescription": "This type shall contain any additional identifiers for a resource."
        },
        "IndicatorLED": {
            "enum": [
                "Lit",
                "Blinking",
                "Off"
            ],
            "enumDescriptions": {
                "Blinking": "The indicator LED is blinking.",
                "Lit": "The indicator LED is lit.",
                "Off": "The indicator LED is off."
            },
            "enumLongDescriptions": {
                "Blinking": "This value shall represent that the indicator LED is in a blinking state where the LED is being turned on and off in repetition.  If the service does not support this value, it shall reject `PATCH` or `PUT` requests containing this value by returning the HTTP `400 Bad Request` status code.",
                "Lit": "This value shall represent that the indicator LED is in a solid on state.  If the service does not support this value, it shall reject `PATCH` or `PUT` requests containing this value by returning the HTTP `400 Bad Request` status code.",
                "Off": "This value shall represent that the indicator LED is in a solid off state.  If the service does not support this value, it shall reject `PATCH` or `PUT` requests containing this value by returning the HTTP `400 Bad Request` status code."
            },
            "type": "string"
        },
        "Item": {
            "anyOf": [
                {
                    "$ref": "odata-v4.json#/definitions/idRef"
                },
                {
                    "$ref": "#/definitions/ReferenceableMember"
                },
                {
                    "$ref": "#/definitions/Resource"
                }
            ],
            "description": "The base type for resources and members that can be linked to."
        },
        "ItemOrCollection": {
            "anyOf": [
                {
                    "$ref": "odata-v4.json#/definitions/idRef"
                },
                {
                    "$ref": "#/definitions/Item"
                },
                {
                    "$ref": "#/definitions/ResourceCollection"
                }
            ]
        },
        "Links": {
            "additionalProperties": false,
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "Oem": {
                    "$ref": "#/definitions/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"
        },
        "Location": {
            "anyOf": [
                {
                    "$ref": "Resource.v1_20_0.json#/definitions/Location"
                }
            ],
            "description": "The location of a resource.",
            "longDescription": "This type shall describe the location of a resource."
        },
        "Name": {
            "description": "The name of the resource or array member.",
            "longDescription": "This property shall contain the name of this resource or array member.  The value shall conform with the 'Name' clause of the Redfish Specification.",
            "type": "string"
        },
        "Oem": {
            "additionalProperties": true,
            "description": "The OEM extension.",
            "longDescription": "This object represents the OEM properties.  The resource values shall comply with the Redfish Specification-described requirements.",
            "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"
                    ]
                },
                "^[A-Za-z0-9_]+$": {
                    "$ref": "#/definitions/OemObject"
                }
            },
            "properties": {},
            "type": "object"
        },
        "OemObject": {
            "additionalProperties": true,
            "description": "The base type for an OEM extension.",
            "longDescription": "This object represents the base type for an OEM object.  The resource values shall comply with the Redfish Specification-described requirements.",
            "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"
        },
        "PowerState": {
            "enum": [
                "On",
                "Off",
                "PoweringOn",
                "PoweringOff",
                "Paused"
            ],
            "enumDescriptions": {
                "Off": "The resource is powered off.  The components within the resource might continue to have AUX power.",
                "On": "The resource is powered on.",
                "Paused": "The resource is paused.",
                "PoweringOff": "A temporary state between on and off.  The components within the resource can take time to process the power off action.",
                "PoweringOn": "A temporary state between off and on.  The components within the resource can take time to process the power on action."
            },
            "enumVersionAdded": {
                "Paused": "v1_13_0"
            },
            "type": "string"
        },
        "ReferenceableMember": {
            "anyOf": [
                {
                    "$ref": "odata-v4.json#/definitions/idRef"
                },
                {
                    "$ref": "Resource.v1_20_0.json#/definitions/ReferenceableMember"
                }
            ]
        },
        "ResetType": {
            "enum": [
                "On",
                "ForceOff",
                "GracefulShutdown",
                "GracefulRestart",
                "ForceRestart",
                "Nmi",
                "ForceOn",
                "PushPowerButton",
                "PowerCycle",
                "Suspend",
                "Pause",
                "Resume"
            ],
            "enumDescriptions": {
                "ForceOff": "Turn off the unit immediately (non-graceful shutdown).",
                "ForceOn": "Turn on the unit immediately.",
                "ForceRestart": "Shut down immediately and non-gracefully and restart the unit.",
                "GracefulRestart": "Shut down gracefully and restart the unit.",
                "GracefulShutdown": "Shut down gracefully and power off.",
                "Nmi": "Generate a diagnostic interrupt, which is usually an NMI on x86 systems, to stop normal operations, complete diagnostic actions, and, typically, halt the system.",
                "On": "Turn on the unit.",
                "Pause": "Pause execution on the unit but do not remove power.  This is typically a feature of virtual machine hypervisors.",
                "PowerCycle": "Power cycle the unit.  Behaves like a full power removal, followed by a power restore to the resource.",
                "PushPowerButton": "Simulate the pressing of the physical power button on this unit.",
                "Resume": "Resume execution on the paused unit.  This is typically a feature of virtual machine hypervisors.",
                "Suspend": "Write the state of the unit to disk before powering off.  This allows for the state to be restored when powered back on."
            },
            "enumLongDescriptions": {
                "ForceOff": "This value shall indicate the resource will transition to a power off state.  The transition will start immediately.  Upon successful completion, the `PowerState` property, if supported, shall contain the value `Off`.",
                "ForceOn": "This value shall indicate the resource will transition to a power on state.  The transition will start immediately.  Upon successful completion, the `PowerState` property shall contain the value `On`.",
                "ForceRestart": "This value shall indicate the resource will transition to a power on state, after transiting through a restart.  The transition will start immediately.  Upon successful completion, the `PowerState` property, if supported, shall contain the value `On`.",
                "GracefulRestart": "This value shall indicate the resource will transition to a power on state, after transiting through a restart.  The transition will start after first performing tasks to safely shut down the resource.  For example, when shutting down a computer system, the host operating system is allowed to safely shut down processes and close connections.  Upon successful completion, the `PowerState` property, if supported, shall contain the value `On`.",
                "GracefulShutdown": "This value shall indicate the resource will transition to a power off state.  The transition will start after first performing tasks to safely shut down the resource.  For example, when shutting down a computer system, the host operating system is allowed to safely shut down processes and close connections.  Upon successful completion, the `PowerState` property, if supported, shall contain the value `Off`.",
                "Nmi": "This value shall indicate the resource will generate a diagnostic interrupt.",
                "On": "This value shall indicate the resource will transition to a power on state.  Upon successful completion, the `PowerState` property, if supported, shall contain the value `On`.",
                "Pause": "This value shall indicate the resource will transition to a paused state.  Upon successful completion, the `PowerState` property, if supported, shall contain the value `Paused`.",
                "PowerCycle": "This value shall indicate the resource will perform a power cycle.  If currently in the power on state, the resource will transition to a power off state, then transition to a power on state.  If currently in the power off state, the resource will transition to a power on state.  Upon successful completion, the `PowerState` property, if supported, shall contain the value `On`.",
                "PushPowerButton": "This value shall indicate the resource will behave as if the physical power button is pressed.  The behavior of pressing the physical power button may be dependent on the state of the unit and the behavior may be configurable.",
                "Resume": "This value shall indicate the resource will transition to a power on state.  Upon successful completion, the `PowerState` property, if supported, shall contain the value `On`.",
                "Suspend": "This value shall indicate the resource will have any state information written to persistent memory and then transition to a power off state.  Upon successful completion, the `PowerState` property, if supported, shall contain the value `Off`."
            },
            "enumVersionAdded": {
                "Pause": "v1_13_0",
                "PowerCycle": "v1_4_0",
                "Resume": "v1_13_0",
                "Suspend": "v1_13_0"
            },
            "type": "string"
        },
        "Resource": {
            "anyOf": [
                {
                    "$ref": "odata-v4.json#/definitions/idRef"
                },
                {
                    "$ref": "Resource.v1_20_0.json#/definitions/Resource"
                }
            ]
        },
        "ResourceCollection": {
            "anyOf": [
                {
                    "$ref": "odata-v4.json#/definitions/idRef"
                },
                {
                    "$ref": "Resource.v1_20_0.json#/definitions/ResourceCollection"
                }
            ]
        },
        "State": {
            "enum": [
                "Enabled",
                "Disabled",
                "StandbyOffline",
                "StandbySpare",
                "InTest",
                "Starting",
                "Absent",
                "UnavailableOffline",
                "Deferring",
                "Quiesced",
                "Updating",
                "Qualified",
                "Degraded"
            ],
            "enumDeprecated": {
                "Qualified": "This value has been deprecated in favor of StandbySpare."
            },
            "enumDescriptions": {
                "Absent": "This function or device is not currently present or detected.  This resource represents a capability or an available location where a device can be installed.",
                "Deferring": "The element does not process any commands but queues new requests.",
                "Degraded": "The function or resource is degraded.",
                "Disabled": "This function or resource is disabled.",
                "Enabled": "This function or resource is enabled.",
                "InTest": "This function or resource is undergoing testing or is in the process of capturing information for debugging.",
                "Qualified": "The element quality is within the acceptable range of operation.",
                "Quiesced": "The element is enabled but only processes a restricted set of commands.",
                "StandbyOffline": "This function or resource is enabled but awaits an external action to activate it.",
                "StandbySpare": "This function or resource is part of a redundancy set and awaits a failover or other external action to activate it.",
                "Starting": "This function or resource is starting.",
                "UnavailableOffline": "This function or resource is present but cannot be used.",
                "Updating": "The element is updating and might be unavailable or degraded."
            },
            "enumLongDescriptions": {
                "Absent": "This value shall indicate that the function or device is absent as defined in the 'Absent resources' clause of the Redfish Specification.",
                "Deferring": "This value shall indicate the element does not process any commands but queues new requests.",
                "Degraded": "This value shall indicate the resource is enabled but operating in a degraded mode.",
                "Disabled": "This value shall indicate that a function or resource is unavailable.",
                "Enabled": "This value shall indicate that a function or resource is capable of operating.",
                "InTest": "This value shall indicate that the component is undergoing testing or is in the process of capturing information for debugging.",
                "Qualified": "This value shall indicate the element is within the acceptable range of operation.",
                "Quiesced": "This value shall indicate the element is enabled but only processes a restricted set of commands.",
                "StandbyOffline": "This value shall indicate that a resource is temporarily unavailable but may become available through an external action.",
                "StandbySpare": "This value shall indicate that a resource is unavailable but may become available automatically as part of a failover, through an external action, or in response to the change in state of another device or resource.",
                "Starting": "This value shall indicate that the resource is attempting to transition to `Enabled`.",
                "UnavailableOffline": "This value shall indicate that a function or resource is present but not able to be used.",
                "Updating": "This value shall indicate the element is updating.  The element may become unavailable or operate at a degraded level of performance or functionality."
            },
            "enumVersionAdded": {
                "Deferring": "v1_2_0",
                "Degraded": "v1_19_0",
                "Qualified": "v1_9_0",
                "Quiesced": "v1_2_0",
                "UnavailableOffline": "v1_1_0",
                "Updating": "v1_2_0"
            },
            "enumVersionDeprecated": {
                "Qualified": "v1_19_0"
            },
            "type": "string"
        },
        "Status": {
            "additionalProperties": false,
            "description": "The status and health of a resource and its children.",
            "longDescription": "This type shall contain any status or health properties of a 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": {
                "Conditions": {
                    "description": "Conditions in this resource that require attention.",
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/Condition"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "longDescription": "This property shall represent the active conditions requiring attention in this or a related resource that affects the `Health` or `HealthRollup` of this resource.  The service may roll up multiple conditions originating from a resource, using the `ConditionInRelatedResource` message from the Base Message Registry.  The array order of conditions may change as new conditions occur or as conditions are resolved by the service.",
                    "type": "array",
                    "versionAdded": "v1_11_0"
                },
                "Health": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/Health"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The health state of this resource in the absence of its dependent resources.",
                    "longDescription": "This property shall represent the health state of the resource without considering its dependent resources.  The values shall conform to those defined in the Redfish Specification.",
                    "readonly": true
                },
                "HealthRollup": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/Health"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The overall health state from the view of this resource.",
                    "longDescription": "This property shall represent the health state of the resource and its dependent resources.  The values shall conform to those defined in the Redfish Specification.  For additional property requirements, see the corresponding definition in the Redfish Data Model Specification.",
                    "readonly": true
                },
                "Oem": {
                    "$ref": "#/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."
                },
                "State": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/State"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The state of the resource.",
                    "longDescription": "This property shall indicate the state of the resource.",
                    "readonly": true
                }
            },
            "type": "object"
        },
        "UUID": {
            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
            "type": "string"
        }
    },
    "language": "en",
    "owningEntity": "DMTF",
    "title": "#Resource"
}

Download

Download #Resource