OpenStackIronicProfile 1.1.0
============================
Specifies the OpenStack Ironic vendor-independent Redfish service requirements, typically offered by a baseboard management controller (BMC).

.. _Redfish-Bios:

Bios
----
Allows reading or changing BIOS settings.

Properties
~~~~~~~~~~
``Attributes`` **[required]**
    Current BIOS settings.


``AttributeRegistry``
    Name of the registry with the schema of BIOS settings.


``@Redfish.Settings`` **[required]**
    ``ETag``

    ``Messages``
        Used to determine success or failure.


    ``SettingsObject`` **[required]**
        Provides a link to the actually updated object.

        Link to a :ref:`Redfish-Bios` resource.

    ``SupportedApplyTimes``
        Determines whether update is immediate or needs a reboot.



Actions
~~~~~~~
``ResetBios``
    Reset BIOS settings to their factory values.


.. _Redfish-Chassis:

Chassis
-------
Allows collecting sensors data from the chassis.

Properties
~~~~~~~~~~
``Power``
    Provides a link to the power information.

    Link to a :ref:`Redfish-Power` resource.

``Thermal``
    Provides a link to the thermal information.

    Link to a :ref:`Redfish-Thermal` resource.

``UUID``
    Used as an ID for indicators.


.. _Redfish-ComputerSystem:

ComputerSystem
--------------
Provides bare-metal node management. **[required]**

Properties
~~~~~~~~~~
``Bios``
    Reference to the corresponding Bios resource.


``BiosVersion``
    Version of the system firmware.


``Boot`` **[required]**
    Allows changing boot devices and modes, which is fundamental for bare-metal provisioning.

    ``BootSourceOverrideEnabled`` **[required]** **[writable]**
        Manages whether the next boot device will be permanent or one-time.


    ``BootSourceOverrideMode`` **[required]** **[writable]**
        Allows switching boot mode to/from UEFI.


    ``BootSourceOverrideTarget`` **[required]** **[writable]**
        Allows changing the next boot device.



``EthernetInterfaces``
    Provides a link to the node's network interfaces.

    Link to a collection of :ref:`Redfish-EthernetInterface` resources.

``IndicatorLED``
    Enables the bare-metal indicator API.


``Links`` **[required]**
    ``Chassis``
        Provides sensor data.


    ``ManagedBy`` **[required]**
        Provides a link from the node to its BMC.



``Manufacturer``
    Provides the 'vendor' property.


``MemorySummary``
    Provides memory data during out-of-band inspection.

    ``TotalSystemMemoryGiB`` **[required]**


``PowerState`` **[required]**
    Provides the current power state.


``Processors``
    Provides a link to the node's CPUs.

    Link to a collection of :ref:`Redfish-Processor` resources.

``SecureBoot``
    Provides a link to the node's secure boot settings.

    Link to a :ref:`Redfish-SecureBoot` resource.

``SimpleStorage``
    Provides disk data during out-of-band inspection.

    Link to a collection of :ref:`Redfish-SimpleStorage` resources.

``Storage``
    Enables hardware RAID management.

    Link to a collection of :ref:`Redfish-Storage` resources.

``VirtualMedia``
    Enables provisioning using virtual media.

    Link to a collection of :ref:`Redfish-VirtualMedia` resources.

Actions
~~~~~~~
``Reset`` **[required]**
    Provides an ability to execute power actions on the node.

    ``ResetType`` **[required]**


.. _Redfish-ComputerSystemCollection:

ComputerSystemCollection
------------------------
At least one system is expected. **[required]**

Properties
~~~~~~~~~~
``Members`` **[required]**

.. _Redfish-Drive:

Drive
-----
Provides information about individual drives when configuring hardware RAID.

Properties
~~~~~~~~~~
``CapacityBytes``

``MediaType`` **[required]**

``Protocol`` **[required]**

``Status`` **[required]**
    ``Health`` **[required]**

    ``State`` **[required]**


.. _Redfish-EthernetInterface:

EthernetInterface
-----------------
Enables enrolling ports during inspection.

Properties
~~~~~~~~~~
``MACAddress`` **[required]**
    MAC address is mandatory on ports.


``Status`` **[required]**
    ``Health`` **[required]**
        Only healthy interfaces are considered.


    ``State`` **[required]**
        Enables filtering only enabled interfaces.



.. _Redfish-Manager:

Manager
-------
Provides access to the properties of the BMC.

Properties
~~~~~~~~~~
``FirmwareVersion``
    Provides the current firmware version of the BMC.


.. _Redfish-Power:

Power
-----
Provides the current power information in the sensor data.

Properties
~~~~~~~~~~
``PowerSupplies`` **[required]**
    Provides a list of the installed power supplies.

    ``LastPowerOutputWatts``

    ``LineInputVoltage``

    ``PowerCapacityWatts``

    ``SerialNumber``

    ``Status`` **[required]**
        ``Health``
            Health status to report in the sensors data.


        ``State``
            Power state to report in the sensors data.




.. _Redfish-Processor:

Processor
---------
Provides CPU data during out-of-band inspection.

Properties
~~~~~~~~~~
``ProcessorArchitecture`` **[required]**
    Used to determine the CPU architecture of the machine.


``TotalThreads`` **[required]**
    Used to estimate the core count.


.. _Redfish-SecureBoot:

SecureBoot
----------
Allows turning secure boot mode on and off.

Properties
~~~~~~~~~~
``SecureBootEnable`` **[required]**
    Allows reading and changing the secure boot state.


Actions
~~~~~~~
``ResetKeys``
    Allows resetting secure boot keys via a step.


.. _Redfish-ServiceRoot:

ServiceRoot
-----------
Provides links to all collections and services. **[required]**

Properties
~~~~~~~~~~
``Systems`` **[required]**
    Provides a link to systems.

    Link to a collection of :ref:`Redfish-ComputerSystem` resources.

``SessionService``
    Provides a link to the session service.

    Link to a :ref:`Redfish-SessionService` resource.

``TaskService``
    Provides a link to the task service.

    Link to a :ref:`Redfish-TaskService` resource.

``UpdateService``
    Provides a link to the update service.

    Link to a :ref:`Redfish-UpdateService` resource.

.. _Redfish-SessionService:

SessionService
--------------
Allows using sessions for authentication instead of HTTP basic authentication.

.. _Redfish-SimpleStorage:

SimpleStorage
-------------
Provides information about disks during inspection as well as disk sensors.

Properties
~~~~~~~~~~
``Devices`` **[required]**
    ``CapacityBytes``
        Disk capacity.


    ``Model``
        Device model to report in the sensors data.


    ``Name``
        Device name to report in the sensors data.


    ``Status`` **[required]**
        ``Health``
            Health status to report in the sensors data.


        ``State``
            Device state to report in the sensors data.




.. _Redfish-Storage:

Storage
-------
Allows configuring hardware RAID.

Properties
~~~~~~~~~~
``Drives`` **[required]**
    Provides a link to attached drives.

    Link to a collection of :ref:`Redfish-Drive` resources.

``StorageControllers`` **[required]**
    Provides information about storage controllers.

    ``SupportedRAIDTypes``
        Defines which RAID types are supported.



``Volumes`` **[required]**
    Provides a link to existing volumes.

    Link to a collection of :ref:`Redfish-Volume` resources.

.. _Redfish-TaskService:

TaskService
-----------
Provides task management.

.. _Redfish-Thermal:

Thermal
-------
Provides thermal information of a chassis as part of the sensors data.

Properties
~~~~~~~~~~
``Fans`` **[required]**
    ``MaxReadingRange``

    ``MinReadingRange``

    ``Reading`` **[required]**

    ``ReadingUnits`` **[required]**

    ``SerialNumber``

    ``Status`` **[required]**
        ``Health``
            Health status to report in the sensors data.


        ``State``
            Device state to report in the sensors data.




``Temperatures`` **[required]**
    ``MaxReadingRangeTemp``

    ``MinReadingRangeTemp``

    ``ReadingCelsius`` **[required]**

    ``PhysicalContext``

    ``SensorNumber``


.. _Redfish-UpdateService:

UpdateService
-------------


Actions
~~~~~~~
``SimpleUpdate`` **[required]**
    Enables firmware updates.

    ``ImageURI`` **[required]**

    ``Targets``

    ``TransferProtocol`` **[required]**


.. _Redfish-VirtualMedia:

VirtualMedia
------------
Enables provisioning using virtual media. **[required]**

Properties
~~~~~~~~~~
``Image`` **[required]**
    URL of the image to attach.


``Inserted``

``MediaTypes`` **[required]**
    Supported media types for this virtual media slot.


``WriteProtected``

Actions
~~~~~~~
``EjectMedia`` **[required]**
    Enables ejecting virtual media devices.


``InsertMedia`` **[required]**
    Enables inserting virtual media devices.

    ``Image`` **[required]**

    ``Inserted``

    ``TransferMethod``

    ``TransferProtocolType``

    ``WriteProtected``


.. _Redfish-Volume:

Volume
------
Provides access to RAID volumes.

Properties
~~~~~~~~~~
``CapacityBytes`` **[required]**

``Name`` **[required]**

``RAIDType``

.. _Redfish-VolumeCollection:

VolumeCollection
----------------
Allows listing and creating RAID volumes.

Properties
~~~~~~~~~~
``@Redfish.OperationApplyTimeSupport`` **[required]**

