components:
  schemas:
    Storage_v1_0_2_Protocol:
      enum:
      - PCIe
      - AHCI
      - UHCI
      - SAS
      - SATA
      - USB
      - NVMe
      - FC
      - iSCSI
      - FCoE
      - NVMeOverFabrics
      - SMB
      - NFSv3
      - NFSv4
      - HTTP
      - HTTPS
      - FTP
      - SFTP
      type: string
      x-enumDescriptions:
        AHCI: Advanced Host Controller Interface.
        FC: Fibre Channel.
        FCoE: Fibre Channel over Ethernet.
        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.
      x-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.
        FCoE: This value shall mean that this device conforms to the T11 FC-BB-5 Specification.
        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.
    Storage_v1_0_2_SetEncryptionKey:
      additionalProperties: false
      description: This action is used to set the encryption key for the storage subsystem.
      properties:
        target:
          description: Link to invoke action
          format: uri
          type: string
        title:
          description: Friendly action name
          type: string
      type: object
      x-longDescription: This defines the name of the custom action supported on this
        resource.
      x-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.
    Storage_v1_0_2_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.
      properties:
        '@odata.context':
          $ref: http://redfish.dmtf.org/schemas/v1/odata.4.0.0.yaml#/components/schemas/odata_4_0_0_context
        '@odata.id':
          $ref: http://redfish.dmtf.org/schemas/v1/odata.4.0.0.yaml#/components/schemas/odata_4_0_0_id
        '@odata.type':
          $ref: http://redfish.dmtf.org/schemas/v1/odata.4.0.0.yaml#/components/schemas/odata_4_0_0_type
        Actions:
          additionalProperties: false
          description: The available actions for this resource.
          properties:
            '#Storage.SetEncryptionKey':
              $ref: '#/components/schemas/Storage_v1_0_2_SetEncryptionKey'
            Oem:
              additionalProperties: true
              properties: {}
              type: object
              x-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: object
          x-longDescription: The Actions property shall contain the available actions
            for this resource.
          x-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.
        Description:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Description
          nullable: true
          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/odata-v4.yaml#/components/schemas/odata-v4_idRef
          readOnly: true
          type: array
          x-longDescription: A collection that indicates all the drives attached to
            the storage controllers that this resource represents.
        Drives@odata.count:
          $ref: http://redfish.dmtf.org/schemas/v1/odata.4.0.0.yaml#/components/schemas/odata_4_0_0_count
        Drives@odata.navigationLink:
          format: uri
          type: string
        Id:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Id
          readOnly: true
        Links:
          additionalProperties: false
          description: Contains references to other resources that are related to
            this resource.
          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/odata-v4.yaml#/components/schemas/odata-v4_idRef
              readOnly: true
              type: array
              x-longDescription: The value of this property shall reference a resource
                of type Chassis that represents the physical containers attached to
                this resource.
            Enclosures@odata.count:
              $ref: http://redfish.dmtf.org/schemas/v1/odata.4.0.0.yaml#/components/schemas/odata_4_0_0_count
            Enclosures@odata.navigationLink:
              format: uri
              type: string
            Oem:
              $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Oem
              description: Oem extension object.
              x-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
          x-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.
          x-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.
        Name:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Name
          readOnly: true
        Oem:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Oem
          description: This is the manufacturer/provider specific extension moniker
            used to divide the Oem object into sections.
          x-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.yaml#/components/schemas/Redundancy_Redundancy
          type: array
        Redundancy@odata.count:
          $ref: http://redfish.dmtf.org/schemas/v1/odata.4.0.0.yaml#/components/schemas/odata_4_0_0_count
        Redundancy@odata.navigationLink:
          format: uri
          type: string
        Status:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Status
        StorageControllers:
          description: The set of storage controllers represented by this resource.
          items:
            $ref: '#/components/schemas/Storage_v1_0_2_StorageController'
          readOnly: true
          type: array
          x-longDescription: A collection that indicates all the storage controllers
            that this resource represents.
        StorageControllers@odata.count:
          $ref: http://redfish.dmtf.org/schemas/v1/odata.4.0.0.yaml#/components/schemas/odata_4_0_0_count
        StorageControllers@odata.navigationLink:
          format: uri
          type: string
        Volumes:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          description: The set of volumes produced by the storage controllers represented
            by this resource.
          readOnly: true
          x-longDescription: A collection that indicates all the volumes produced
            by the storage controllers that this resource represents.
      required:
      - Id
      - Name
      type: object
      x-longDescription: This resource shall be used to represent resources that represent
        a storage subsystem in the Redfish specification.
      x-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.
    Storage_v1_0_2_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.
      properties:
        AssetTag:
          description: The user assigned asset tag for this storage controller.
          nullable: true
          readOnly: false
          type: string
          x-longDescription: The value of this property shall be an identifying string
            used to track the storage controller for inventory purposes.
        FirmwareVersion:
          description: The firmware version of this storage Controller.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: This property shall contain the firwmare version as defined
            by the manufacturer for the associated storage controller.
        Identifiers:
          description: The Durable names for the storage controller.
          items:
            $ref: http://redfish.dmtf.org/schemas/v1/Resource.v1_1_0.yaml#/components/schemas/Resource_v1_1_0_Identifier
          type: array
          x-longDescription: This property shall contain a list of all known durable
            names for the associated storage controller.
        Manufacturer:
          description: This is the manufacturer of this storage controller.
          nullable: true
          readOnly: true
          type: string
          x-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.
        MemberId:
          description: This is the identifier for the member within the collection.
          readOnly: true
          type: string
          x-longDescription: The value of this string shall uniquely identify the
            member within the collection.
        Model:
          description: This is the model number for the storage controller.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: The value of this property shall be the name by which
            the manufacturer generally refers to the storage controller.
        Oem:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Oem
          description: This is the manufacturer/provider specific extension moniker
            used to divide the Oem object into sections.
          x-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.
          nullable: true
          readOnly: true
          type: string
          x-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.
        SKU:
          description: This is the SKU for this storage controller.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: The value of this property shall be the stock-keeping
            unit number for this storage storage controller.
        SerialNumber:
          description: The serial number for this storage controller.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: The value of this property shall be a manufacturer-allocated
            number used to identify the storage controller.
        SpeedGbps:
          description: The speed of the storage controller interface.
          minimum: 0
          nullable: true
          readOnly: true
          type: number
          x-longDescription: The value of this property shall represent the speed
            of the Storage bus interface (in Gigabits per second).
          x-units: Gbit/s
        Status:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Status
        SupportedControllerProtocols:
          description: This represents the protocols by which this storage controller
            can be communicated to.
          items:
            $ref: '#/components/schemas/Storage_v1_0_2_Protocol'
          readOnly: true
          type: array
          x-longDescription: The value of this property shall be the set of protocols
            this storage controller can be communicated to.
        SupportedDeviceProtocols:
          description: This represents the protocols which the storage controller
            can use to communicate with attached devices.
          items:
            $ref: '#/components/schemas/Storage_v1_0_2_Protocol'
          readOnly: true
          type: array
          x-longDescription: The value of this property shall be the set of protocols
            this storage controller can use to communicate with attached devices.
      type: object
      x-longDescription: This resource shall be used to represent a resource that
        represents a storage controller in the Redfish specification.
      x-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.
title: '#Storage.v1_0_2.Storage'
x-copyright: Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For
  the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright
