blob: 9d32548d5000ed0e85171764c2385a0ae51ebe46 [file] [log] [blame]
{
"$ref": "#/definitions/Storage",
"$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
"copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (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|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
"description": "This property shall specify a valid odata or Redfish property.",
"type": [
"array",
"boolean",
"number",
"null",
"object",
"string"
]
}
},
"properties": {
"#Storage.SetEncryptionKey": {
"$ref": "#/definitions/SetEncryptionKey"
},
"Oem": {
"$ref": "#/definitions/OemActions"
}
},
"type": "object"
},
"Links": {
"additionalProperties": false,
"description": "Contains references to other resources that are related to this resource.",
"longDescription": "This type, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource.",
"patternProperties": {
"^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
"description": "This property shall specify a valid odata or Redfish property.",
"type": [
"array",
"boolean",
"number",
"null",
"object",
"string"
]
}
},
"properties": {
"Enclosures": {
"description": "An array of references to the chassis to which this storage subsystem is attached.",
"items": {
"$ref": "http://redfish.dmtf.org/schemas/v1/Chassis.json#/definitions/Chassis"
},
"longDescription": "The value of this property shall reference a resource of type Chassis that represents the physical containers attached to this resource.",
"readonly": true,
"type": "array"
},
"Enclosures@odata.count": {
"$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
},
"Oem": {
"$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
"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."
}
},
"type": "object"
},
"OemActions": {
"additionalProperties": true,
"description": "The available OEM specific actions for this resource.",
"longDescription": "This type shall contain any additional OEM actions for this resource.",
"patternProperties": {
"^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
"description": "This property shall specify a valid odata or Redfish property.",
"type": [
"array",
"boolean",
"number",
"null",
"object",
"string"
]
}
},
"properties": {},
"type": "object"
},
"Protocol": {
"deprecated": "This definition has been moved to the unversioned namespace so that external references can pick up changes over time.",
"enum": [
"PCIe",
"AHCI",
"UHCI",
"SAS",
"SATA",
"USB",
"NVMe",
"FC",
"iSCSI",
"FCoE",
"FCP",
"FICON",
"NVMeOverFabrics",
"SMB",
"NFSv3",
"NFSv4",
"HTTP",
"HTTPS",
"FTP",
"SFTP"
],
"enumDescriptions": {
"AHCI": "Advanced Host Controller Interface.",
"FC": "Fibre Channel.",
"FCP": "Fibre Channel Protocol for SCSI.",
"FCoE": "Fibre Channel over Ethernet.",
"FICON": "FIbre CONnection (FICON).",
"FTP": "File Transfer Protocol.",
"HTTP": "Hypertext Transport Protocol.",
"HTTPS": "Secure Hypertext Transport Protocol.",
"NFSv3": "Network File System version 3.",
"NFSv4": "Network File System version 4.",
"NVMe": "Non-Volatile Memory Express.",
"NVMeOverFabrics": "NVMe over Fabrics.",
"PCIe": "PCI Express (Vendor Proprietary).",
"SAS": "Serial Attached SCSI.",
"SATA": "Serial AT Attachment.",
"SFTP": "Secure File Transfer Protocol.",
"SMB": "Server Message Block (aka CIFS Common Internet File System).",
"UHCI": "Universal Host Controller Interface.",
"USB": "Universal Serial Bus.",
"iSCSI": "Internet SCSI."
},
"enumLongDescriptions": {
"AHCI": "This value shall mean that this device conforms to the Intel Advanced Host Controller Interface Specification.",
"FC": "This value shall mean that this device conforms to the T11 Fibre Channel Physical and Signaling Interface Specification.",
"FCP": "This enumeration literal shall indicate the INCITS 481: Information technology - Fibre Channel Protocol for SCSI. The Fibre Channel SCSI Protocol.",
"FCoE": "This value shall mean that this device conforms to the T11 FC-BB-5 Specification.",
"FICON": "This enumeration literal shall indicate the (ANSI FC-SB-3 Single-Byte Command Code Sets-3 Mapping Protocol for the Fibre Channel(FC) protocol. FICON (FIbre CONnection) is the IBM proprietary name for this protocol.",
"FTP": "This value shall mean that this device conforms to the File Transfer protocol as defined by RFC 114.",
"HTTP": "This value shall mean that this device conforms to the Hypertext Transfer protocol as defined by RFC 2068 or RFC 2616.",
"HTTPS": "This value shall mean that this device conforms to the Hypertext Transfer protocol as defined by RFC 2068 or RFC 2616 utilizing Transport Layer Security as specified by RFC 5246 or RFC 6176.",
"NFSv3": "This value shall mean that this device conforms to the Network File System protocol as defined by RFC 1813.",
"NFSv4": "This value shall mean that this device conforms to the Network File System protocol as defined by RFC 3010 or RFC 5661.",
"NVMe": "This value shall mean that this device conforms to the Non-Volatile Memory Host Controller Interface Specification Specification.",
"NVMeOverFabrics": "This value shall mean that this device conforms to the NVM Express over Fabrics Specification.",
"PCIe": "This value shall mean that this device conforms to the PCI-SIG PCI Express Base Specification only beyond that is uses some vendor proprietary mechanism to communicate.",
"SAS": "This value shall mean that this device conforms to the T10 SAS Protocol Layer Specification.",
"SATA": "This value shall mean that this device conforms to the Serial ATA International Organization Serial ATA Specification.",
"SFTP": "This value shall mean that this device conforms to the File Transfer protocol as defined by RFC 114 utilizing Transport Layer Security as specified by RFC 5246 or RFC 6176.",
"SMB": "This value shall mean that this device conforms to the Microsoft Server Message Block Protocol.",
"UHCI": "This value shall mean that this device conforms to the Intel Universal Host Controller Interface Specification, Enhanced Host Controller Interface Specification, or the Extensible Host Controller Interface specification.",
"USB": "This value shall mean that this device conforms to the USB Implementers Forum Universal Serial Bus Specification.",
"iSCSI": "This value shall mean that this device conforms to the IETF Internet Small Computer Systems Interface (iSCSI) Specification."
},
"type": "string"
},
"SetEncryptionKey": {
"additionalProperties": false,
"description": "This action is used to set the encryption key for the storage subsystem.",
"longDescription": "This action shall set the encryption key for the storage subsystem.",
"parameters": {
"EncryptionKey": {
"description": "The encryption key to set on the storage subsytem.",
"longDescription": "This parameter shall contain the encryption key to set on the storage subsystem.",
"requiredParameter": true,
"type": "string"
}
},
"patternProperties": {
"^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
"description": "This property shall specify a valid odata or Redfish property.",
"type": [
"array",
"boolean",
"number",
"null",
"object",
"string"
]
}
},
"properties": {
"target": {
"description": "Link to invoke action",
"format": "uri",
"type": "string"
},
"title": {
"description": "Friendly action name",
"type": "string"
}
},
"type": "object"
},
"Storage": {
"additionalProperties": false,
"description": "This schema defines a storage subsystem and its respective properties. A storage subsystem represents a set of storage controllers (physical or virtual) and the resources such as volumes that can be accessed from that subsystem.",
"longDescription": "This resource shall be used to represent resources that represent a storage subsystem in the Redfish specification.",
"patternProperties": {
"^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
"description": "This property shall specify a valid odata or Redfish property.",
"type": [
"array",
"boolean",
"number",
"null",
"object",
"string"
]
}
},
"properties": {
"@odata.context": {
"$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/context"
},
"@odata.id": {
"$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/id"
},
"@odata.type": {
"$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/type"
},
"Actions": {
"$ref": "#/definitions/Actions",
"description": "The available actions for this resource.",
"longDescription": "The Actions property shall contain the available actions for this resource."
},
"Description": {
"anyOf": [
{
"$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
},
{
"type": "null"
}
],
"readonly": true
},
"Drives": {
"description": "The set of drives attached to the storage controllers represented by this resource.",
"items": {
"$ref": "http://redfish.dmtf.org/schemas/v1/Drive.json#/definitions/Drive"
},
"longDescription": "A collection that indicates all the drives attached to the storage controllers that this resource represents.",
"readonly": true,
"type": "array"
},
"Drives@odata.count": {
"$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
},
"Id": {
"$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
"readonly": true
},
"Links": {
"$ref": "#/definitions/Links",
"description": "Contains references to other resources that are related to this resource.",
"longDescription": "The Links property, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (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": "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*."
},
"Redundancy": {
"description": "Redundancy information for the storage subsystem.",
"items": {
"$ref": "http://redfish.dmtf.org/schemas/v1/Redundancy.json#/definitions/Redundancy"
},
"type": "array"
},
"Redundancy@odata.count": {
"$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
},
"Status": {
"$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
},
"StorageControllers": {
"description": "The set of storage controllers represented by this resource.",
"items": {
"$ref": "http://redfish.dmtf.org/schemas/v1/Storage.json#/definitions/StorageController"
},
"longDescription": "A collection that indicates all the storage controllers that this resource represents.",
"readonly": true,
"type": "array"
},
"StorageControllers@odata.count": {
"$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
},
"Volumes": {
"$ref": "http://redfish.dmtf.org/schemas/v1/VolumeCollection.json#/definitions/VolumeCollection",
"description": "The set of volumes produced by the storage controllers represented by this resource.",
"longDescription": "A collection that indicates all the volumes produced by the storage controllers that this resource represents.",
"readonly": true
}
},
"required": [
"Id",
"Name"
],
"type": "object"
},
"StorageController": {
"additionalProperties": false,
"description": "This schema defines a storage controller and its respective properties. A storage controller represents a storage device (physical or virtual) that produces Volumes.",
"longDescription": "This resource shall be used to represent a resource that represents a storage controller in the Redfish specification.",
"patternProperties": {
"^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
"description": "This property shall specify a valid odata or Redfish property.",
"type": [
"array",
"boolean",
"number",
"null",
"object",
"string"
]
}
},
"properties": {
"Actions": {
"$ref": "#/definitions/StorageControllerActions",
"description": "The available actions for this resource.",
"longDescription": "The Actions property shall contain the available actions for this resource."
},
"Assembly": {
"$ref": "http://redfish.dmtf.org/schemas/v1/Assembly.json#/definitions/Assembly",
"description": "A reference to the Assembly resource associated with this Storage Controller.",
"longDescription": "The value of this property shall be a link to a resource of type Assembly.",
"readonly": true
},
"AssetTag": {
"description": "The user assigned asset tag for this storage controller.",
"longDescription": "The value of this property shall be an identifying string used to track the storage controller for inventory purposes.",
"readonly": false,
"type": [
"string",
"null"
]
},
"FirmwareVersion": {
"description": "The firmware version of this storage Controller.",
"longDescription": "This property shall contain the firwmare version as defined by the manufacturer for the associated storage controller.",
"readonly": true,
"type": [
"string",
"null"
]
},
"Identifiers": {
"description": "The Durable names for the storage controller.",
"items": {
"$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Identifier"
},
"longDescription": "This property shall contain a list of all known durable names for the associated storage controller.",
"type": "array"
},
"Links": {
"$ref": "#/definitions/StorageControllerLinks",
"description": "Contains references to other resources that are related to this resource.",
"longDescription": "The Links property, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource."
},
"Location": {
"$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location"
},
"Manufacturer": {
"description": "This is the manufacturer of this storage controller.",
"longDescription": "The value of this property shall be the name of the organization responsible for producing the storage controller. This organization might be the entity from whom the storage controller is purchased, but this is not necessarily true.",
"readonly": true,
"type": [
"string",
"null"
]
},
"MemberId": {
"description": "This is the identifier for the member within the collection.",
"longDescription": "The value of this string shall uniquely identify the member within the collection.",
"readonly": true,
"type": "string"
},
"Model": {
"description": "This is the model number for the storage controller.",
"longDescription": "The value of this property shall be the name by which the manufacturer generally refers to the storage controller.",
"readonly": true,
"type": [
"string",
"null"
]
},
"Name": {
"description": "The name of the Storage Controller.",
"longDescription": "The value of this property shall be the name of the Storage Controller.",
"readonly": true,
"type": [
"string",
"null"
]
},
"Oem": {
"$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/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*."
},
"PartNumber": {
"description": "The part number for this storage controller.",
"longDescription": "The value of this property shall be a part number assigned by the organization that is responsible for producing or manufacturing the storage controller.",
"readonly": true,
"type": [
"string",
"null"
]
},
"SKU": {
"description": "This is the SKU for this storage controller.",
"longDescription": "The value of this property shall be the stock-keeping unit number for this storage storage controller.",
"readonly": true,
"type": [
"string",
"null"
]
},
"SerialNumber": {
"description": "The serial number for this storage controller.",
"longDescription": "The value of this property shall be a manufacturer-allocated number used to identify the storage controller.",
"readonly": true,
"type": [
"string",
"null"
]
},
"SpeedGbps": {
"description": "The speed of the storage controller interface.",
"longDescription": "The value of this property shall represent the speed of the Storage bus interface (in Gigabits per second).",
"minimum": 0,
"readonly": true,
"type": [
"number",
"null"
],
"units": "Gbit/s"
},
"Status": {
"$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
},
"SupportedControllerProtocols": {
"description": "This represents the protocols by which this storage controller can be communicated to.",
"items": {
"$ref": "http://redfish.dmtf.org/schemas/v1/Protocol.json#/definitions/Protocol"
},
"longDescription": "The value of this property shall be the set of protocols this storage controller can be communicated to.",
"readonly": true,
"type": "array"
},
"SupportedDeviceProtocols": {
"description": "This represents the protocols which the storage controller can use to communicate with attached devices.",
"items": {
"$ref": "http://redfish.dmtf.org/schemas/v1/Protocol.json#/definitions/Protocol"
},
"longDescription": "The value of this property shall be the set of protocols this storage controller can use to communicate with attached devices.",
"readonly": true,
"type": "array"
}
},
"type": "object"
},
"StorageControllerActions": {
"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|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
"description": "This property shall specify a valid odata or Redfish property.",
"type": [
"array",
"boolean",
"number",
"null",
"object",
"string"
]
}
},
"properties": {
"Oem": {
"$ref": "#/definitions/StorageControllerOemActions"
}
},
"type": "object"
},
"StorageControllerLinks": {
"additionalProperties": false,
"description": "Contains references to other resources that are related to this resource.",
"longDescription": "This type, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource.",
"patternProperties": {
"^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
"description": "This property shall specify a valid odata or Redfish property.",
"type": [
"array",
"boolean",
"number",
"null",
"object",
"string"
]
}
},
"properties": {
"Endpoints": {
"description": "An array of references to the endpoints that connect to this controller.",
"items": {
"$ref": "http://redfish.dmtf.org/schemas/v1/Endpoint.json#/definitions/Endpoint"
},
"longDescription": "The value of this property shall be a reference to the resources that this controller is associated with and shall reference a resource of type Endpoint.",
"type": "array"
},
"Endpoints@odata.count": {
"$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
},
"Oem": {
"$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
"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."
},
"StorageServices": {
"description": "An array of references to the StorageServices that connect to this controller.",
"items": {
"$ref": "http://redfish.dmtf.org/schemas/swordfish/v1/StorageService.json#/definitions/StorageService"
},
"longDescription": "The value of this property shall be a reference to the resources that this controller is associated with and shall reference a resource of type StorageService.",
"type": "array"
},
"StorageServices@odata.count": {
"$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
}
},
"type": "object"
},
"StorageControllerOemActions": {
"additionalProperties": true,
"description": "The available OEM specific actions for this resource.",
"longDescription": "This type shall contain any additional OEM actions for this resource.",
"patternProperties": {
"^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
"description": "This property shall specify a valid odata or Redfish property.",
"type": [
"array",
"boolean",
"number",
"null",
"object",
"string"
]
}
},
"properties": {},
"type": "object"
}
},
"title": "#Storage.v1_4_0.Storage"
}