components:
  schemas:
    Storage_v1_20_0_Actions:
      additionalProperties: false
      description: The available actions for this resource.
      properties:
        '#Storage.ImportForeignDrives':
          $ref: '#/components/schemas/Storage_v1_20_0_ImportForeignDrives'
        '#Storage.RekeyExternalKey':
          $ref: '#/components/schemas/Storage_v1_20_0_RekeyExternalKey'
        '#Storage.ResetToDefaults':
          $ref: '#/components/schemas/Storage_v1_20_0_ResetToDefaults'
        '#Storage.SetControllerPassword':
          $ref: '#/components/schemas/Storage_v1_20_0_SetControllerPassword'
        '#Storage.SetEncryptionKey':
          $ref: '#/components/schemas/Storage_v1_20_0_SetEncryptionKey'
        Oem:
          $ref: '#/components/schemas/Storage_v1_20_0_OemActions'
          description: The available OEM-specific actions for this resource.
          x-longDescription: This property shall contain the available OEM-specific
            actions for this resource.
      type: object
      x-longDescription: This type shall contain the available actions for this resource.
      x-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.
    Storage_v1_20_0_AutoVolumeCreate:
      enum:
      - Disabled
      - NonRAID
      - RAID0
      - RAID1
      type: string
      x-enumDescriptions:
        Disabled: Do not automatically create volumes.
        NonRAID: Automatically create non-RAID volumes.
        RAID0: Automatically create RAID0 volumes.
        RAID1: Automatically create RAID1 volumes.
    Storage_v1_20_0_CacheSummary:
      additionalProperties: false
      description: This type describes the cache memory of the storage controller
        in general detail.
      properties:
        PersistentCacheSizeMiB:
          description: The portion of the cache memory that is persistent, measured
            in MiB.
          format: int64
          minimum: 0
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain the amount of cache memory
            that is persistent as measured in mebibytes.  This size shall be less
            than or equal to the `TotalCacheSizeMiB`.
          x-units: MiBy
          x-versionAdded: v1_5_0
        Status:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Status
          description: The status and health of the resource and its subordinate or
            dependent resources.
          x-longDescription: This property shall contain any status or health properties
            of the resource.
          x-versionAdded: v1_5_0
        TotalCacheSizeMiB:
          description: The total configured cache memory, measured in MiB.
          format: int64
          minimum: 0
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain the amount of configured
            cache memory as measured in mebibytes.
          x-units: MiBy
          x-versionAdded: v1_5_0
      required:
      - TotalCacheSizeMiB
      type: object
      x-longDescription: This type shall contain properties that describe the cache
        memory for a storage controller.
      x-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.
    Storage_v1_20_0_ConfigLockOptions:
      enum:
      - Unlocked
      - Locked
      - LockdownUnsupported
      - CommandUnsupported
      type: string
      x-enumDescriptions:
        CommandUnsupported: The command is not supported, therefore lockdown does
          not apply.
        LockdownUnsupported: The command is supported but is not able to be locked.
        Locked: The command is supported and is currently locked.
        Unlocked: The command is supported, able to be locked, and is currently unlocked.
    Storage_v1_20_0_ConfigurationLock:
      enum:
      - Enabled
      - Disabled
      - Partial
      type: string
      x-enumDescriptions:
        Disabled: In-band configuration requests are not locked.
        Enabled: In-band configuration requests are locked as specified by `TargetConfigurationLockLevel`.
        Partial: Some in-band configuration requests are not locked while others are
          locked.  This value is used for status reporting to indicate that the storage
          subsystem is partially locked and client action is recommended.
      x-enumLongDescriptions:
        Disabled: This value shall indicate in-band configuration requests are not
          locked.
        Enabled: This value shall indicate in-band configuration requests are locked
          as specified by `TargetConfigurationLockLevel`.
        Partial: This value shall indicate some in-band configuration requests are
          not locked while others are locked.
    Storage_v1_20_0_EncryptionMode:
      enum:
      - Disabled
      - UseExternalKey
      - UseLocalKey
      - PasswordOnly
      - PasswordWithExternalKey
      - PasswordWithLocalKey
      type: string
      x-enumDescriptions:
        Disabled: Encryption is disabled on the storage subsystem.
        PasswordOnly: The storage subsystem uses a password, but no keys for encryption.
        PasswordWithExternalKey: The storage subsystem uses a password and one or
          more external keys for encryption.
        PasswordWithLocalKey: The storage subsystem uses a password and a local key
          for encryption.
        UseExternalKey: The storage subsystem uses one or more external keys for encryption.
        UseLocalKey: The storage subsystem uses a local key for encryption.
      x-enumVersionAdded:
        PasswordOnly: v1_17_0
        PasswordWithExternalKey: v1_17_0
        PasswordWithLocalKey: v1_17_0
    Storage_v1_20_0_HotspareActivationPolicy:
      enum:
      - OnDriveFailure
      - OnDrivePredictedFailure
      - OEM
      type: string
      x-enumDescriptions:
        OEM: The hot spare drive will take over for the original drive in an algorithm
          custom to the OEM.
        OnDriveFailure: The hot spare drive will take over for the original drive
          when the original drive has been marked as failed by the storage domain.
        OnDrivePredictedFailure: The hot spare drive will take over for the original
          drive when the original drive has been predicted to fail in the future by
          the storage domain.
    Storage_v1_20_0_ImportForeignDrives:
      additionalProperties: false
      description: This action imports encrypted foreign drives to a host-based storage
        controller by supplying encryption access credentials.
      properties:
        target:
          description: Link to invoke action
          format: uri-reference
          type: string
        title:
          description: Friendly action name
          type: string
      type: object
      x-longDescription: This action shall import encrypted foreign drives to a host-based
        storage controller by supplying encryption access credentials.  Upon successful
        completion, the `EncryptionStatus` property of the affected `Drive` shall
        change from `Foreign` to `Unlocked`.
      x-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.
      x-versionAdded: v1_19_0
    Storage_v1_20_0_ImportForeignDrivesRequestBody:
      additionalProperties: false
      description: This action imports encrypted foreign drives to a host-based storage
        controller by supplying encryption access credentials.
      properties:
        ControllerPassword:
          description: The current controller password.  This parameter is not required
            if the controller does not currently have a password.
          type: string
          x-longDescription: This parameter shall contain the current controller password.  Services
            may reject the action request if this parameter is not provided or the
            value supplied does not match the current password.
        DriveEncryptionKey:
          description: The encryption key to unlock the drives.
          type: string
          x-longDescription: This parameter shall contain the encryption key to unlock
            the drives.
        DriveEncryptionKeyIdentifier:
          description: An encryption key identifier to filter the drives that are
            imported.  If not provided, the controller attempts to import all foreign
            drives.
          type: string
          x-longDescription: This parameter shall contain an encryption key identifier
            to filter the drives that are imported.  If this parameter is not provided,
            the service shall not perform filtering of foreign drives.
      required:
      - DriveEncryptionKey
      type: object
      x-longDescription: This action shall import encrypted foreign drives to a host-based
        storage controller by supplying encryption access credentials.  Upon successful
        completion, the `EncryptionStatus` property of the affected `Drive` shall
        change from `Foreign` to `Unlocked`.
      x-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.
    Storage_v1_20_0_Links:
      additionalProperties: false
      description: The links to other resources that are related to this resource.
      properties:
        BlockSecurityIDUnsupportedDrives:
          description: The set of drives in this storage subsystem that do not support
            blocking of TCG-defined security ID (SID).
          items:
            $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          readOnly: true
          type: array
          x-longDescription: This property shall contain an array of links to resources
            of type `Drive` that represent the drives in this storage subsystem that
            do not support the TCG-defined 'Block SID' command.  This property should
            only be present if at least one drive does not support the TCG-defined
            'Block SID' command.
          x-versionAdded: v1_18_0
        BlockSecurityIDUnsupportedDrives@odata.count:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_count
        BlockSecurityIDUpdateUnsuccessfulDrives:
          description: The set of drives in this storage subsystem for which the most
            recent attempt to block TCG-defined security ID (SID) failed.
          items:
            $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          readOnly: true
          type: array
          x-longDescription: This property shall contain an array of links to resources
            of type `Drive` that represent the drives in this storage subsystem for
            which the most recent attempt to block TCG-defined security ID (SID) with
            the TCG-defined 'Block SID' command failed.  This property should only
            be present if the most recent attempt to block TCG-defined security ID
            (SID) with the TCG-defined 'Block SID' command failed for at least one
            drive.
          x-versionAdded: v1_18_0
        BlockSecurityIDUpdateUnsuccessfulDrives@odata.count:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_count
        Enclosures:
          description: An array of links 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: This property shall contain an array of links to resources
            of type `Chassis` that represent the physical containers attached to this
            resource.
        Enclosures@odata.count:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_count
        HostingStorageSystems:
          description: The storage systems that host this storage subsystem.
          items:
            $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          readOnly: true
          type: array
          x-longDescription: This property shall contain an array of links to resources
            of type `ComputerSystem` that represent the storage systems that host
            this storage subsystem.  The members of this array shall be in the `StorageSystems`
            resource collection off the service root.
          x-versionAdded: v1_11_0
        HostingStorageSystems@odata.count:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_count
        NVMeoFDiscoverySubsystems:
          description: An array of links to the discovery subsystems that discovered
            this subsystem in an NVMe-oF environment.
          items:
            $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          readOnly: true
          type: array
          x-longDescription: This property shall contain an array of links to resources
            of type `Storage` that represent the discovery subsystems that discovered
            this subsystem in an NVMe-oF environment.
          x-versionAdded: v1_15_0
        NVMeoFDiscoverySubsystems@odata.count:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_count
        Oem:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Oem
          description: The OEM extension property.
          x-longDescription: This property shall contain the OEM extensions.  All
            values for properties contained in this object shall conform to the Redfish
            Specification-described requirements.
        SimpleStorage:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          description: The link to the simple storage instance that corresponds to
            this storage.
          readOnly: true
          x-longDescription: This property shall contain a link to a resource of type
            `SimpleStorage` that represents the same storage subsystem as this resource.
          x-versionAdded: v1_9_0
        StorageServices:
          description: An array of links to the storage services that connect to this
            storage subsystem.
          items:
            $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          readOnly: true
          type: array
          x-longDescription: This property shall contain an array of links to resources
            of type `StorageService` with which this storage subsystem is associated.
          x-versionAdded: v1_9_0
        StorageServices@odata.count:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_count
        UnassignedVolumes:
          description: The set of volumes in this storage subsystem that are not assigned
            to a physical function.
          items:
            $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          readOnly: true
          type: array
          x-longDescription: This property shall contain an array of links to resources
            of type `Volume` that represent the volumes in this storage subsystem
            that are not assigned to a physical function.  This property should only
            be present if the storage subsystem supports the use of multiple physical
            functions to parallelize data transfer.
          x-versionAdded: v1_20_0
        UnassignedVolumes@odata.count:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_count
      type: object
      x-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.
      x-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.
    Storage_v1_20_0_MPF:
      additionalProperties: false
      description: Multiple physical function-related properties for storage controllers
        in a storage subsystem.
      properties:
        ConfiguredPhysicalFunctions:
          description: The current number of physical functions configured for the
            storage controller in this storage subsystem.
          format: int64
          nullable: true
          readOnly: false
          type: integer
          x-longDescription: This property shall contain the current number of physical
            functions configured for the storage controller in this storage subsystem.
          x-versionAdded: v1_20_0
        MaximumSupportedPhysicalFunctions:
          description: The maximum number of physical functions supported by the storage
            controller in this storage subsystem.
          format: int64
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain the maximum number of physical
            functions supported by the storage controller in this storage subsystem.
          x-versionAdded: v1_20_0
        VolumeAssignmentPolicy:
          description: The current volume assignment policy configured for the storage
            controller in this storage subsystem.
          oneOf:
          - $ref: '#/components/schemas/Storage_v1_20_0_VolumeAssignmentPolicy'
          - enum:
            - null
          readOnly: false
          x-longDescription: This property shall contain the current volume assignment
            policy configured for the storage controller in this storage subsystem.
          x-versionAdded: v1_20_0
      type: object
      x-longDescription: This type shall contain multiple physical function-related
        properties for storage controllers in a storage subsystem.
      x-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.
    Storage_v1_20_0_NVMeConfigurationLockState:
      additionalProperties: false
      description: The configurable features that are able to be locked on an NVMe
        subsystem and their current lock state.
      properties:
        FirmwareCommit:
          description: The lock state of the NVMe-defined Firmware Commit command.
          oneOf:
          - $ref: '#/components/schemas/Storage_v1_20_0_ConfigLockOptions'
          - enum:
            - null
          readOnly: true
          x-longDescription: This property shall contain the lock state of the NVMe-defined
            Firmware Commit command.
          x-versionAdded: v1_17_0
        FirmwareImageDownload:
          description: The lock state of the NVMe-defined Firmware Image Download
            command.
          oneOf:
          - $ref: '#/components/schemas/Storage_v1_20_0_ConfigLockOptions'
          - enum:
            - null
          readOnly: true
          x-longDescription: This property shall contain the lock state of the NVMe-defined
            Firmware Image Download command.
          x-versionAdded: v1_17_0
        Lockdown:
          description: The lock state of the NVMe-defined Lockdown command.
          oneOf:
          - $ref: '#/components/schemas/Storage_v1_20_0_ConfigLockOptions'
          - enum:
            - null
          readOnly: true
          x-longDescription: This property shall contain the lock state of the NVMe-defined
            Lockdown command.
          x-versionAdded: v1_17_0
        SecuritySend:
          description: The lock state of the NVMe-defined Security Send command.
          oneOf:
          - $ref: '#/components/schemas/Storage_v1_20_0_ConfigLockOptions'
          - enum:
            - null
          readOnly: true
          x-longDescription: This property shall contain the lock state of the NVMe-defined
            Security Send command.
          x-versionAdded: v1_17_0
        VPDWrite:
          description: The lock state of the NVMe-MI-defined VPD Write command.
          oneOf:
          - $ref: '#/components/schemas/Storage_v1_20_0_ConfigLockOptions'
          - enum:
            - null
          readOnly: true
          x-longDescription: This property shall contain the lock state of the NVMe-MI-defined
            VPD Write command.
          x-versionAdded: v1_17_0
      type: object
      x-longDescription: This type shall contain the configurable features that are
        able to be locked on an NVMe subsystem and their current lock state.
      x-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.
    Storage_v1_20_0_NVMeSubsystemProperties:
      additionalProperties: false
      description: Information specific to NVMe Subsystems.
      properties:
        ConfigurationLockState:
          description: The configurable features that are able to be locked from in-band
            usage on an NVMe subsystem and their current lock state.
          oneOf:
          - $ref: '#/components/schemas/Storage_v1_20_0_NVMeConfigurationLockState'
          - enum:
            - null
          x-longDescription: This property shall contain the configurable features
            that are able to be locked from in-band usage on an NVMe subsystem and
            their current lock state.
          x-versionAdded: v1_17_0
        MaxNamespacesSupported:
          description: The maximum number of namespace attachments supported by this
            NVMe Subsystem.
          nullable: true
          readOnly: true
          type: number
          x-longDescription: This property shall contain the maximum number of namespace
            attachments supported by this NVMe Subsystem.  If no maximum is specified,
            this property should not be implemented.
          x-versionAdded: v1_16_0
        SharedNamespaceControllerAttachmentSupported:
          description: Indicates whether the subsystem supports shared namespace controller
            attachment, allowing a shared namespace to be attached concurrently to
            two or more controllers in an NVMe Subsystem.
          nullable: true
          readOnly: true
          type: boolean
          x-longDescription: This property shall indicate whether the subsystem supports
            shared namespace controller attachment, allowing a shared namespace to
            be attached concurrently to two or more controllers in an NVMe Subsystem.
          x-versionAdded: v1_16_0
      type: object
      x-longDescription: This type shall contain information specific to NVMe Subsystems.
      x-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.
    Storage_v1_20_0_OemActions:
      additionalProperties: true
      description: The available OEM-specific actions for this resource.
      properties: {}
      type: object
      x-longDescription: This type shall contain the available OEM-specific actions
        for this resource.
      x-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.
    Storage_v1_20_0_Rates:
      additionalProperties: false
      description: This type describes the various controller rates used for processes
        such as volume rebuild or consistency checks.
      properties:
        ConsistencyCheckRatePercent:
          description: The percentage of controller resources used for performing
            a data consistency check on volumes.
          format: int64
          maximum: 100
          minimum: 0
          nullable: true
          readOnly: false
          type: integer
          x-longDescription: This property shall contain the percentage of controller
            resources used for checking data consistency on volumes.
          x-versionAdded: v1_7_0
        RebuildRatePercent:
          description: The percentage of controller resources used for rebuilding/repairing
            volumes.
          format: int64
          maximum: 100
          minimum: 0
          nullable: true
          readOnly: false
          type: integer
          x-longDescription: This property shall contain the percentage of controller
            resources used for rebuilding volumes.
          x-versionAdded: v1_7_0
        TransformationRatePercent:
          description: The percentage of controller resources used for transforming
            volumes from one configuration to another.
          format: int64
          maximum: 100
          minimum: 0
          nullable: true
          readOnly: false
          type: integer
          x-longDescription: This property shall contain the percentage of controller
            resources used for transforming volumes.
          x-versionAdded: v1_7_0
      type: object
      x-longDescription: This type shall contain all the rate settings available on
        the controller.
      x-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.
    Storage_v1_20_0_RekeyExternalKey:
      additionalProperties: false
      description: This action causes the controllers of the storage subsystem to
        request new encryption keys managed by an external key service.
      properties:
        target:
          description: Link to invoke action
          format: uri-reference
          type: string
        title:
          description: Friendly action name
          type: string
      type: object
      x-longDescription: This action shall cause the controllers of the storage subsystem
        to request new encryption keys managed by an external key service.
      x-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.
      x-versionAdded: v1_16_0
    Storage_v1_20_0_RekeyExternalKeyRequestBody:
      additionalProperties: false
      description: This action causes the controllers of the storage subsystem to
        request new encryption keys managed by an external key service.
      properties: {}
      type: object
      x-longDescription: This action shall cause the controllers of the storage subsystem
        to request new encryption keys managed by an external key service.
      x-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.
    Storage_v1_20_0_ResetToDefaults:
      additionalProperties: false
      description: The reset action resets the storage device to factory defaults.  This
        can cause the loss of data.
      properties:
        target:
          description: Link to invoke action
          format: uri-reference
          type: string
        title:
          description: Friendly action name
          type: string
      type: object
      x-longDescription: This action shall reset the storage device.  This action
        can impact other resources.
      x-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.
      x-versionAdded: v1_11_0
    Storage_v1_20_0_ResetToDefaultsRequestBody:
      additionalProperties: false
      description: The reset action resets the storage device to factory defaults.  This
        can cause the loss of data.
      properties:
        ResetType:
          $ref: '#/components/schemas/Storage_v1_20_0_ResetToDefaultsType'
          description: The type of reset to defaults.
          x-longDescription: This parameter shall contain the type of reset to defaults.
      required:
      - ResetType
      type: object
      x-longDescription: This action shall reset the storage device.  This action
        can impact other resources.
      x-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.
    Storage_v1_20_0_ResetToDefaultsType:
      enum:
      - ResetAll
      - PreserveVolumes
      type: string
      x-enumDescriptions:
        PreserveVolumes: Reset all settings to factory defaults but preserve the configured
          volumes on the controllers.
        ResetAll: Reset all settings to factory defaults and remove all volumes.
    Storage_v1_20_0_SetControllerPassword:
      additionalProperties: false
      description: This action sets the controller boot password for a host-based
        storage controller.
      properties:
        target:
          description: Link to invoke action
          format: uri-reference
          type: string
        title:
          description: Friendly action name
          type: string
      type: object
      x-longDescription: This action shall set the controller boot password for a
        host-based storage controller.
      x-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.
      x-versionAdded: v1_17_0
    Storage_v1_20_0_SetControllerPasswordRequestBody:
      additionalProperties: false
      description: This action sets the controller boot password for a host-based
        storage controller.
      properties:
        CurrentPassword:
          description: The current controller password.  This parameter is not needed
            if the controller does not currently have a password.
          type: string
          x-longDescription: This parameter shall contain the current controller password.  Services
            may reject the action request if this parameter is not provided or the
            value supplied does not match the current password.
        NewPassword:
          description: The new password to set for the controller.
          type: string
          x-longDescription: This parameter shall contain the new password to set
            for the controller.
        SecurityKey:
          description: The security key for the controller.  This parameter is not
            needed if the controller does not have a security key.
          type: string
          x-longDescription: This parameter shall contain the controller security
            key.  Services may reject the action request if this parameter is not
            provided or the value provided does not match the security key for the
            controller.
      required:
      - NewPassword
      type: object
      x-longDescription: This action shall set the controller boot password for a
        host-based storage controller.
      x-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.
    Storage_v1_20_0_SetEncryptionKey:
      additionalProperties: false
      description: This action sets the local encryption key for the storage subsystem.
      properties:
        target:
          description: Link to invoke action
          format: uri-reference
          type: string
        title:
          description: Friendly action name
          type: string
      type: object
      x-longDescription: This action shall set the local encryption key for the storage
        subsystem.
      x-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.
    Storage_v1_20_0_SetEncryptionKeyRequestBody:
      additionalProperties: false
      description: This action sets the local encryption key for the storage subsystem.
      properties:
        CurrentEncryptionKey:
          description: The current local encryption key on the storage subsystem.  This
            parameter is not needed if the controller does not currently have an encryption
            key.
          type: string
          x-longDescription: This parameter shall contain the current local encryption
            key on the storage subsystem.  Services may reject the action request
            if this parameter is not provided or the value supplied does not match
            the current encryption key.
          x-versionAdded: v1_14_0
        EncryptionKey:
          description: The local encryption key to set on the storage subsystem.
          type: string
          x-longDescription: This parameter shall contain the local encryption key
            to set on the storage subsystem.
        EncryptionKeyIdentifier:
          description: The local encryption key identifier used by the storage subsystem.
          type: string
          x-longDescription: This property shall contain the local encryption key
            identifier used by the storage subsystem.
          x-versionAdded: v1_14_0
      required:
      - EncryptionKey
      type: object
      x-longDescription: This action shall set the local encryption key for the storage
        subsystem.
      x-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.
    Storage_v1_20_0_Storage:
      additionalProperties: false
      description: The `Storage` schema defines a storage subsystem and its respective
        properties.  A storage subsystem represents a set of physical or virtual storage
        controllers and the resources, such as volumes, that can be accessed from
        that subsystem.
      properties:
        '@odata.context':
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_context
        '@odata.etag':
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_etag
        '@odata.id':
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_id
        '@odata.type':
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_type
        Actions:
          $ref: '#/components/schemas/Storage_v1_20_0_Actions'
          description: The available actions for this resource.
          x-longDescription: This property shall contain the available actions for
            this resource.
        AutoVolumeCreate:
          description: Indicates if this storage subsystem automatically creates new
            volumes for unassigned drives.
          oneOf:
          - $ref: '#/components/schemas/Storage_v1_20_0_AutoVolumeCreate'
          - enum:
            - null
          readOnly: false
          x-longDescription: This property shall indicate if volumes are created automatically
            for each unassigned drive attached to this storage subsystem.
          x-versionAdded: v1_15_0
        BlockSecurityIDPolicy:
          description: Indicates if the storage controller sends a command to block
            establishment of a TCG-defined security ID (SID) during each drive boot
            sequence for drives that support it.
          nullable: true
          readOnly: false
          type: boolean
          x-longDescription: This property shall indicate if the storage controller
            sends the TCG-defined 'Block SID' command to block establishment of a
            TCG-defined security ID (SID) during each drive boot sequence for drives
            that support it.  The value `true` shall indicate the TCG-defined 'Block
            SID' command is sent to supporting drives during each drive boot sequence.
          x-versionAdded: v1_18_0
        ConfigurationLock:
          description: Indicates whether in-band configuration requests to the storage
            subsystem are locked.  Other properties, such as `ConfigurationLockState`,
            contain additional information regarding the status of the configuration
            lock.
          oneOf:
          - $ref: '#/components/schemas/Storage_v1_20_0_ConfigurationLock'
          - enum:
            - null
          readOnly: false
          x-longDescription: This property shall indicate whether configuration requests
            to the storage subsystem are locked.  Services shall reject modification
            requests that contain the value `Partial`.  Modifying the value of this
            property may affect the `ConfigurationLock` property in `Drive` resources
            referenced by the `Drives` property.
          x-versionAdded: v1_16_0
        Connections:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          description: The collection of links to the connections that this storage
            subsystem contains.
          readOnly: true
          x-longDescription: This property shall contain a link to a resource collection
            of type `ConnectionCollection`.  The members of this collection shall
            reference Connection resources subordinate to Fabric resources.
          x-versionAdded: v1_15_0
        ConsistencyGroups:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          description: The consistency groups, each of which contains a set of volumes
            that are treated by an application or set of applications as a single
            resource, that are managed by this storage subsystem.
          readOnly: true
          x-longDescription: This property shall contain a link to a resource collection
            of type `ConsistencyGroupCollection`.  The property shall be used when
            groups of volumes are treated as a single resource by an application or
            set of applications.
          x-versionAdded: v1_8_0
        Controllers:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          description: The set of controllers instantiated by this storage subsystem.
          readOnly: true
          x-longDescription: This property shall contain a link to a resource collection
            of type `StorageControllerCollection` that contains the set of storage
            controllers allocated to this storage subsystem.
          x-versionAdded: v1_9_0
        Description:
          oneOf:
          - $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Description
          - enum:
            - null
          readOnly: true
        Drives:
          description: The set of drives attached to the storage controllers that
            this resource represents.
          items:
            $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          readOnly: true
          type: array
          x-longDescription: This property shall contain a set of the drives attached
            to the storage controllers that this resource represents.
        Drives@odata.count:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_count
        EncryptionMode:
          description: The encryption mode of this storage subsystem.
          oneOf:
          - $ref: '#/components/schemas/Storage_v1_20_0_EncryptionMode'
          - enum:
            - null
          readOnly: false
          x-longDescription: This property shall contain the encryption mode of this
            storage subsystem.
          x-versionAdded: v1_14_0
        EndpointGroups:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          description: All of the endpoint groups, each of which contains a set of
            endpoints that are used for a common purpose such as an ACL or logical
            identification, that belong to this storage subsystem.
          readOnly: true
          x-longDescription: This property shall contain a link to a resource collection
            of type `EndpointGroupCollection`.  This property shall be implemented
            when atomic control is needed to perform mapping, masking, and zoning
            operations.
          x-versionAdded: v1_8_0
        FileSystems:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          description: All file systems that are allocated by this storage subsystem.
          readOnly: true
          x-longDescription: This property shall contain a link to a resource collection
            of type `FileSystemCollection`.  This property shall be used when file
            systems are shared or exported by the storage subsystem.
          x-versionAdded: v1_8_0
        HotspareActivationPolicy:
          description: The policy under which hot spare drives in this storage domain
            will activate.
          oneOf:
          - $ref: '#/components/schemas/Storage_v1_20_0_HotspareActivationPolicy'
          - enum:
            - null
          readOnly: false
          x-longDescription: This property shall contain the policy under which all
            drives operating as hot spares in this storage domain will activate.
          x-versionAdded: v1_14_0
        Id:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Id
          readOnly: true
        Identifiers:
          description: The durable names for the storage subsystem.
          items:
            $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Identifier
          type: array
          x-longDescription: This property shall contain a list of all known durable
            names for the storage subsystem.
          x-versionAdded: v1_9_0
        Links:
          $ref: '#/components/schemas/Storage_v1_20_0_Links'
          description: The links to other resources that are related to this resource.
          x-longDescription: This property shall contain links to resources that are
            related to but are not contained by, or subordinate to, this resource.
        LocalEncryptionKeyIdentifier:
          description: The local encryption key identifier used by the storage subsystem.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: This property shall contain the local encryption key
            identifier used by the storage subsystem when `EncryptionMode` contains
            `UseLocalKey`.
          x-versionAdded: v1_14_0
        MPF:
          description: The multiple physical function-related properties for storage
            controllers in this storage subsystem.
          oneOf:
          - $ref: '#/components/schemas/Storage_v1_20_0_MPF'
          - enum:
            - null
          x-longDescription: This property shall contain multiple physical function-related
            properties for storage controllers in this storage subsystem.  This property
            should only be present if the storage subsystem supports the use of multiple
            physical functions to parallelize data transfer.
          x-versionAdded: v1_20_0
        Metrics:
          description: The link to the metrics associated with this storage subsystem.
          oneOf:
          - $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          - enum:
            - null
          readOnly: true
          x-longDescription: This property shall contain a link to a resource of type
            `StorageMetrics` that represents the metrics associated with this storage
            subsystem.
          x-versionAdded: v1_18_0
        NVMeSubsystemProperties:
          description: Information specific to NVMe Subsystems.
          oneOf:
          - $ref: '#/components/schemas/Storage_v1_20_0_NVMeSubsystemProperties'
          - enum:
            - null
          x-longDescription: This property shall contain information specific to NVMe
            Subsystems.  This property shall only be present if this resource represents
            an NVMe Subsystem.
          x-versionAdded: v1_16_0
        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: The OEM extension property.
          x-longDescription: This property shall contain the OEM extensions.  All
            values for properties that this object contains shall conform to the Redfish
            Specification-described requirements.
        Redundancy:
          description: Redundancy information for the storage subsystem.
          items:
            $ref: http://redfish.dmtf.org/schemas/v1/Redundancy.yaml#/components/schemas/Redundancy_Redundancy
          type: array
          x-autoExpand: true
          x-longDescription: This property shall contain redundancy information for
            the storage subsystem.
        Redundancy@odata.count:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_count
        Status:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Status
          description: The status and health of the resource and its subordinate or
            dependent resources.
          x-longDescription: This property shall contain any status or health properties
            of the resource.
        StorageControllers:
          deprecated: true
          description: The set of storage controllers that this resource represents.
          items:
            $ref: '#/components/schemas/Storage_v1_20_0_StorageController'
          readOnly: true
          type: array
          x-autoExpand: true
          x-deprecatedReason: This property has been deprecated in favor of `Controllers`
            to allow for storage controllers to be represented as their own resources.
          x-longDescription: This property shall contain a set of the storage controllers
            that this resource represents.
          x-versionDeprecated: v1_13_0
        StorageControllers@odata.count:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_count
        StorageGroups:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          deprecated: true
          description: All of the storage groups, each of which contains a set of
            volumes and endpoints that are managed as a group for mapping and masking,
            that belong to this storage subsystem.
          readOnly: true
          x-deprecatedReason: This property was deprecated in favor of the `Connections`
            property.
          x-longDescription: This property shall contain a link to a resource collection
            of type `StorageGroupsCollection`.  This property shall be used when implementing
            mapping and masking.
          x-versionAdded: v1_8_0
          x-versionDeprecated: v1_15_0
        StoragePools:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          description: The set of all storage pools that are allocated by this storage
            subsystem.  A storage pool is the set of storage capacity that can be
            used to produce volumes or other storage pools.
          readOnly: true
          x-longDescription: This property shall contain a link to a resource collection
            of type `StoragePoolCollection`.  This property shall be used when an
            abstraction of media, rather than references to individual media, are
            used as the storage data source.
          x-versionAdded: v1_8_0
        TargetConfigurationLockLevel:
          description: Indicates the target configuration lock level for the drive
            based upon the state of the `ConfigurationLock` property.  Other properties,
            such as `ConfigurationLockState`, contain additional information regarding
            the status of the configuration lock.
          oneOf:
          - $ref: '#/components/schemas/Storage_v1_20_0_TargetConfigurationLockLevel'
          - enum:
            - null
          readOnly: false
          x-longDescription: This property shall contain the target configuration
            lock level for the drive.  For NVMe subsystems, services shall implement
            the locking requirements specified by SNIA's Swordfish NVMe Model Overview
            and Mapping Guide.
          x-versionAdded: v1_17_0
        Volumes:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          description: The set of volumes that the storage controllers produce.
          readOnly: true
          x-longDescription: This property shall contain a link to a resource collection
            of type `VolumeCollection`.
      required:
      - '@odata.id'
      - '@odata.type'
      - Id
      - Name
      type: object
      x-longDescription: This resource shall represent a storage subsystem in the
        Redfish Specification.
      x-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.
    Storage_v1_20_0_StorageController:
      additionalProperties: false
      description: The StorageController schema describes a storage controller and
        its properties.  A storage controller represents a physical or virtual storage
        device that produces volumes.
      properties:
        '@odata.id':
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_id
        Actions:
          $ref: '#/components/schemas/Storage_v1_20_0_StorageControllerActions'
          description: The available actions for this resource.
          x-longDescription: This property shall contain the available actions for
            this resource.
          x-versionAdded: v1_2_0
        Assembly:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          description: The link to the assembly associated with this storage controller.
          readOnly: true
          x-longDescription: This property shall contain a link to a resource of type
            `Assembly`.
          x-versionAdded: v1_4_0
        AssetTag:
          description: The user-assigned asset tag for this storage controller.
          nullable: true
          readOnly: false
          type: string
          x-longDescription: This property shall track the storage controller for
            inventory purposes.
        CacheSummary:
          $ref: '#/components/schemas/Storage_v1_20_0_CacheSummary'
          description: The cache memory of the storage controller in general detail.
          x-longDescription: This property shall contain properties that describe
            the cache memory for this resource.
          x-versionAdded: v1_5_0
        Certificates:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          description: The link to a collection of certificates for device identity
            and attestation.
          readOnly: true
          x-longDescription: This property shall contain a link to a resource collection
            of type `CertificateCollection` that contains certificates for device
            identity and attestation.
          x-versionAdded: v1_10_0
        ControllerRates:
          $ref: '#/components/schemas/Storage_v1_20_0_Rates'
          description: This property describes the various controller rates used for
            processes such as volume rebuild or consistency checks.
          x-longDescription: This object shall contain all the rate settings available
            on the controller.
          x-versionAdded: v1_7_0
        FirmwareVersion:
          description: The firmware version of this storage controller.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: This property shall contain the firmware 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.yaml#/components/schemas/Resource_Identifier
          type: array
          x-longDescription: This property shall contain a list of all known durable
            names for the associated storage controller.
        Links:
          $ref: '#/components/schemas/Storage_v1_20_0_StorageControllerLinks'
          description: The links to other resources that are related to this resource.
          x-longDescription: This property shall contain links to resources that are
            related to but are not contained by, or subordinate to, this resource.
          x-versionAdded: v1_1_0
        Location:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Location
          description: The location of the storage controller.
          x-longDescription: This property shall contain the location information
            of the associated storage controller.
          x-versionAdded: v1_4_0
        Manufacturer:
          description: The manufacturer of this storage controller.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: This property shall contain the name of the organization
            responsible for producing the storage controller.  This organization may
            be the entity from which the storage controller is purchased, but this
            is not necessarily true.
        Measurements:
          deprecated: true
          description: An array of DSP0274-defined measurement blocks.
          items:
            $ref: http://redfish.dmtf.org/schemas/v1/SoftwareInventory.yaml#/components/schemas/SoftwareInventory_MeasurementBlock
          type: array
          x-deprecatedReason: This property has been deprecated in favor of the `ComponentIntegrity`
            resource.
          x-longDescription: This property shall contain an array of DSP0274-defined
            measurement blocks.
          x-versionAdded: v1_10_0
          x-versionDeprecated: v1_12_0
        MemberId:
          description: The unique identifier for the member within an array.
          readOnly: true
          type: string
          x-longDescription: This property shall contain the unique identifier for
            this member within an array.  For services supporting Redfish v1.6 or
            higher, this value shall contain the zero-based array index.
        Model:
          description: The model number for the storage controller.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: This property shall contain the name by which the manufacturer
            generally refers to the storage controller.
        Name:
          description: The name of the storage controller.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: This property shall contain the name of the storage controller.
          x-versionAdded: v1_3_0
        Oem:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Oem
          description: The OEM extension property.
          x-longDescription: This property shall contain the OEM extensions.  All
            values for properties that this object contains shall conform to the Redfish
            Specification-described requirements.
        PCIeInterface:
          $ref: http://redfish.dmtf.org/schemas/v1/PCIeDevice.yaml#/components/schemas/PCIeDevice_PCIeInterface
          description: The PCIe interface details for this controller.
          x-longDescription: This property shall contain details on the PCIe interface
            that connects this PCIe-based controller to its host.
          x-versionAdded: v1_5_0
        PartNumber:
          description: The part number for this storage controller.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: This property shall contain a part number assigned by
            the organization that is responsible for producing or manufacturing the
            storage controller.
        Ports:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          description: The link to the collection of ports that exist on the storage
            controller.
          readOnly: true
          x-longDescription: This property shall contain a link to a resource collection
            of type `PortCollection`.
          x-versionAdded: v1_7_0
        SKU:
          description: The SKU for this storage controller.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: This property shall contain the stock-keeping unit number
            for this storage controller.
        SerialNumber:
          description: The serial number for this storage controller.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: This property shall contain a manufacturer-allocated
            number that identifies the storage controller.
        SpeedGbps:
          description: The maximum speed of the storage controller's device interface.
          minimum: 0
          nullable: true
          readOnly: true
          type: number
          x-longDescription: This property shall represent the maximum supported speed
            of the storage bus interface, in Gbit/s.  The specified interface connects
            the controller to the storage devices, not the controller to a host.  For
            example, SAS bus not PCIe host bus.
          x-units: Gbit/s
        Status:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Status
          description: The status and health of the resource and its subordinate or
            dependent resources.
          x-longDescription: This property shall contain any status or health properties
            of the resource.
        SupportedControllerProtocols:
          description: The supported set of protocols for communicating with this
            storage controller.
          items:
            $ref: http://redfish.dmtf.org/schemas/v1/Protocol.yaml#/components/schemas/Protocol_Protocol
          readOnly: true
          type: array
          x-longDescription: This property shall contain the supported set of protocols
            for communicating with this storage controller.
        SupportedDeviceProtocols:
          description: The protocols that the storage controller can use to communicate
            with attached devices.
          items:
            $ref: http://redfish.dmtf.org/schemas/v1/Protocol.yaml#/components/schemas/Protocol_Protocol
          readOnly: true
          type: array
          x-longDescription: This property shall contain the set of protocols this
            storage controller can use to communicate with attached devices.
        SupportedRAIDTypes:
          description: The set of RAID types supported by the storage controller.
          items:
            oneOf:
            - $ref: http://redfish.dmtf.org/schemas/swordfish/v1/Volume.yaml#/components/schemas/Volume_RAIDType
            - enum:
              - null
          readOnly: true
          type: array
          x-longDescription: This property shall contain an array of all the RAID
            types supported by this controller.
          x-versionAdded: v1_6_0
      required:
      - '@odata.id'
      - MemberId
      type: object
      x-longDescription: This resource shall represent a storage controller in the
        Redfish Specification.
      x-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.
    Storage_v1_20_0_StorageControllerActions:
      additionalProperties: false
      description: The available actions for this resource.
      properties:
        Oem:
          $ref: '#/components/schemas/Storage_v1_20_0_StorageControllerOemActions'
          description: The available OEM-specific actions for this resource.
          x-longDescription: This property shall contain the available OEM-specific
            actions for this resource.
          x-versionAdded: v1_2_0
      type: object
      x-longDescription: This type shall contain the available actions for this resource.
      x-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.
    Storage_v1_20_0_StorageControllerLinks:
      additionalProperties: false
      description: The links to other resources that are related to this resource.
      properties:
        Endpoints:
          description: An array of links to the endpoints that connect to this controller.
          items:
            $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          type: array
          x-longDescription: This property shall contain an array of links to resources
            of type `Endpoint` with which this controller is associated.
          x-versionAdded: v1_1_0
        Endpoints@odata.count:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_count
        Oem:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Oem
          description: The OEM extension property.
          x-longDescription: This property shall contain the OEM extensions.  All
            values for properties contained in this object shall conform to the Redfish
            Specification-described requirements.
        PCIeFunctions:
          description: An array of links to the PCIe functions that the storage controller
            produces.
          items:
            $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          type: array
          x-longDescription: This property shall contain an array of links to resources
            of type `PCIeFunction` that represent the PCIe functions associated with
            this resource.
          x-versionAdded: v1_7_0
        PCIeFunctions@odata.count:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_count
        StorageServices:
          deprecated: true
          description: An array of links to the storage services that connect to this
            controller.
          items:
            $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          type: array
          x-deprecatedReason: This property has been deprecated in favor of `StorageServices`
            within the `Links` property at the root level.
          x-longDescription: This property shall contain an array of links to resources
            of type `StorageService` with which this controller is associated.
          x-versionAdded: v1_4_0
          x-versionDeprecated: v1_9_0
        StorageServices@odata.count:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_count
      type: object
      x-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.
      x-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.
    Storage_v1_20_0_StorageControllerOemActions:
      additionalProperties: true
      description: The available OEM-specific actions for this resource.
      properties: {}
      type: object
      x-longDescription: This type shall contain the available OEM-specific actions
        for this resource.
      x-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.
    Storage_v1_20_0_TargetConfigurationLockLevel:
      enum:
      - Baseline
      type: string
      x-enumDescriptions:
        Baseline: The standard configuration lock level, corresponding to applying
          firmware, updating security keys, and modifying other hardware settings.  It
          does not include managing the volumes or data within the storage subsystem.
    Storage_v1_20_0_VolumeAssignmentPolicy:
      enum:
      - Unassigned
      - Supervisor
      - WeightedRoundRobin
      type: string
      x-enumDescriptions:
        Supervisor: Newly created volumes are assigned to the supervisor function.
        Unassigned: Newly created volumes are not assigned to physical functions,
          but are added to `UnassignedVolumes` in the `Links` property within this
          resource.
        WeightedRoundRobin: Newly created volumes are assigned to the physical functions
          in a round-robin fashion.
title: '#Storage.v1_20_0.Storage'
x-copyright: Copyright 2014-2025 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright
x-language: en
x-owningEntity: DMTF
x-release: '2025.3'
