alexandria/alexandria/model/redfish/1.0/Resource.json

271 lines
13 KiB
JSON
Executable File

{
"$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.1.0.0.json",
"title": "#Resource",
"definitions": {
"Description": {
"type": "string",
"readonly": true,
"description": "Provides a description of this resource and is used for commonality in the schema definitions.",
"longDescription": "This object represents the Description property. All values for resources described by this schema shall comply to the requirements as described in the Redfish specification."
},
"Health": {
"type": "string",
"enum": [
"OK",
"Warning",
"Critical"
],
"enumDescriptions": {
"OK": "Normal",
"Warning": "A condition exists that requires attention",
"Critical": "A critical condition exists that requires immediate attention"
}
},
"Id": {
"type": "string",
"readonly": true,
"description": "Uniquely identifies the resource within the collection of like resources.",
"longDescription": "This property represents an identifier for the resource. All values for resources described by this schema shall comply to the requirements as described in the Redfish specification."
},
"Item": {
"type": "object",
"patternProperties": {
"^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
"type": [
"array",
"boolean",
"number",
"null",
"object",
"string"
],
"description": "This property shall specify a valid odata or Redfish property."
}
},
"additionalProperties": true,
"properties": {
"@odata.context": {
"$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/context"
},
"@odata.id": {
"$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/id"
},
"@odata.type": {
"$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/type"
},
"Oem": {
"$ref": "#/definitions/Oem",
"description": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
"longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
}
},
"description": "This is the base type for resources and referenceable members."
},
"Name": {
"type": "string",
"readonly": true,
"description": "The name of the resource or array element.",
"longDescription": "This object represents the Name property. All values for resources described by this schema shall comply to the requirements as described in the Redfish specification. The value of this string shall be of the format for the reserved word *Name*."
},
"Oem": {
"type": "object",
"patternProperties": {
"([a-zA-Z0-9]+(\\.[a-z]{2,})?|EID:[0-9]+)(:.+)?" : {
"type": "object",
"additionalProperties": true,
"description": "This property shall specify a valid odata or Redfish property."
}
},
"properties": {},
"description": "Oem extension object.",
"longDescription": "This object represents the Oem property. All values for resources described by this schema shall comply to the requirements as described in the Redfish specification."
},
"ReferenceableMember": {
"type": "object",
"patternProperties": {
"^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
"type": [
"array",
"boolean",
"number",
"null",
"object",
"string"
],
"description": "This property shall specify a valid odata or Redfish property."
}
},
"additionalProperties": true,
"properties": {
"@odata.context": {
"$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/context"
},
"@odata.id": {
"$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/id"
},
"@odata.type": {
"$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/type"
},
"Oem": {
"$ref": "#/definitions/Oem",
"description": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
"longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
}
},
"description": "This is the base type for resources and referenceable members."
},
"ResetType": {
"type": "string",
"enum": [
"On",
"ForceOff",
"GracefulShutdown",
"GracefulRestart",
"ForceRestart",
"Nmi",
"ForceOn",
"PushPowerButton"
],
"enumDescriptions": {
"On": "Turn the system on",
"ForceOff": "Turn the system off immediately (non-graceful) shutdown",
"GracefulShutdown": "Perform a graceful system shutdown and power off",
"GracefulRestart": "Perform a graceful system shutdown followed by a restart of the system",
"ForceRestart": "Perform an immediate (non-graceful) shutdown, followed by a restart of the system",
"Nmi": "Generate a Diagnostic Interrupt (usually an NMI on x86 systems) to cease normal operations, perform diagnostic actions and typically halt the system.",
"ForceOn": "Turn the system on immediately",
"PushPowerButton": "Simulate the pressing of the physical power button on this system"
}
},
"Resource": {
"type": "object",
"patternProperties": {
"^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
"type": [
"array",
"boolean",
"number",
"null",
"object",
"string"
],
"description": "This property shall specify a valid odata or Redfish property."
}
},
"additionalProperties": true,
"properties": {
"@odata.context": {
"$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/context"
},
"@odata.id": {
"$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/id"
},
"@odata.type": {
"$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/type"
},
"Oem": {
"$ref": "#/definitions/Oem",
"description": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
"longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
}
},
"description": "This is the base type for resources and referenceable members."
},
"ResourceCollection": {
"type": "object",
"patternProperties": {
"^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
"type": [
"array",
"boolean",
"number",
"null",
"object",
"string"
],
"description": "This property shall specify a valid odata or Redfish property."
}
},
"additionalProperties": true,
"properties": {
"@odata.context": {
"$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/context"
},
"@odata.id": {
"$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/id"
},
"@odata.type": {
"$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/type"
}
}
},
"State": {
"type": "string",
"enum": [
"Enabled",
"Disabled",
"StandbyOffline",
"StandbySpare",
"InTest",
"Starting",
"Absent"
],
"enumDescriptions": {
"Enabled": "This function or resource has been enabled",
"Disabled": "This function or resource has been disabled",
"StandbyOffline": "This function or resource is enabled, but awaiting an external action to activate it",
"StandbySpare": "This function or resource is part of a redundancy set and is awaiting a failover or other external action to activate it.",
"InTest": "This function or resource is undergoing testing",
"Starting": "This function or resource is starting",
"Absent": "This function or resource is not present or not detected"
}
},
"Status": {
"type": "object",
"patternProperties": {
"^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
"type": [
"array",
"boolean",
"number",
"null",
"object",
"string"
],
"description": "This property shall specify a valid odata or Redfish property."
}
},
"additionalProperties": false,
"properties": {
"State": {
"$ref": "#/definitions/State",
"readonly": true,
"description": "This indicates the known state of the resource, such as if it is enabled.",
"longDescription": "This property shall represent if this component is available or not and why. Enabled indicates the resource is available. Disabled indicates the resource has been intentionally made unavailable but it can be enabled. Offline indicates the resource is unavailable intentionally and requires action to be made available. InTest indicates that the component is undergoing testing. Starting indicates that the resource is on its way to becoming available. Absent indicates the resources is physically unavailable."
},
"HealthRollup": {
"$ref": "#/definitions/Health",
"readonly": true,
"description": "This represents the overall health state from the view of this resource.",
"longDescription": "This property shall represent the HealthState of the resource and its dependent resources. The values shall conform to those defined in the Redfish specification."
},
"Health": {
"$ref": "#/definitions/Health",
"readonly": true,
"description": "This represents the health state of this resource in the absence of its dependent resources.",
"longDescription": "This property shall represent the HealthState of the resource without considering its dependent resources. The values shall conform to those defined in the Redfish specification."
},
"Oem": {
"$ref": "#/definitions/Oem"
}
},
"readonly": true
},
"UUID": {
"type": "string",
"pattern": "([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})"
}
},
"copyright": "Copyright 2014-2015 Distributed Management Task Force, Inc. (DMTF). All rights reserved."
}