Skip to main content

System Resources

System resources are used to query the system nodes, operating system status, network, time, storage, power, and firewall information of the device.

Plain HTTP requests on this page support HTTP Basic Auth and session tokens. The token is carried in the `X-Xsrf-Token` request header, not in the request body. In the examples, `` is `http` or `https` depending on the service configuration.

1 System Resource Collection

Query the system resource members on the current device. Clients should obtain the actual SystemId from Members[].@odata.id instead of assuming a fixed number or naming of system members.

ItemContent
MethodGET
Path/redfish/v1/Systems
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Request bodyNone
Success status code200 OK
Basic Auth Token ```bash title="Query the System Resource Collection" curl --user ':' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems' ``` ```bash title="Query the System Resource Collection with a Token" curl --header 'X-Xsrf-Token: ' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems' ```

Response Example

The following is a real response returned by a test device, with HTTP status code 200 OK.

200 OK
{
"@odata.id": "/redfish/v1/Systems",
"@odata.type": "#ComputerSystemCollection.ComputerSystemCollection",
"Name": "Computer System Collection",
"Members@odata.count": 11,
"Members": [
{ "@odata.id": "/redfish/v1/Systems/bmc" },
{ "@odata.id": "/redfish/v1/Systems/sub01" },
{ "@odata.id": "/redfish/v1/Systems/sub02" },
{ "@odata.id": "/redfish/v1/Systems/sub03" },
{ "@odata.id": "/redfish/v1/Systems/sub04" },
{ "@odata.id": "/redfish/v1/Systems/sub05" },
{ "@odata.id": "/redfish/v1/Systems/sub06" },
{ "@odata.id": "/redfish/v1/Systems/sub07" },
{ "@odata.id": "/redfish/v1/Systems/sub08" },
{ "@odata.id": "/redfish/v1/Systems/sub09" },
{ "@odata.id": "/redfish/v1/Systems/sub10" }
]
}

Response Fields

FieldTypeDescription
@odata.idstringAccess path of the system resource collection.
@odata.typestringOData type of the system resource collection.
NamestringName of the system resource collection.
Members@odata.countnumberNumber of system resource members.
MembersarrayList of system resource members.
Members[].@odata.idstringAccess path of a specific system resource.

2 System Status Resources

2.1 Querying a Specific System

ItemContent
MethodGET
Path/redfish/v1/Systems/{SystemId}
Path parameterSystemId: obtained from the system resource collection; the example below uses bmc
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Success status code200 OK
Basic Auth Token ```bash title="Query the bmc System Status" curl --user ':' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc' ``` ```bash title="Query the bmc System Status with a Token" curl --header 'X-Xsrf-Token: ' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc' ```

Response Example

The following is an excerpt of the core fields from a real 200 OK response.

200 OK · Excerpt of a Real Response
{
"@odata.id": "/redfish/v1/Systems/bmc",
"@odata.type": "#ComputerSystem.v1_20_0.ComputerSystem",
"Id": "bmc",
"Name": "Systems",
"SystemType": "Physical",
"Description": "System bmc",
"Status": {
"Health": "Critical",
"HealthRollup": "",
"State": ""
},
"SerialNumber": "5a674dc0e7ccb348",
"ProcessorSummary": {
"CoreCount": 8,
"Count": 1,
"LogicalProcessorCount": 8,
"Model": "Cortex-A55",
"ThreadingEnabled": false,
"Status": {
"Health": "OK",
"HealthRollup": "OK",
"State": "Enabled"
}
},
"HostingRoles": "BareMetalServer",
"HostName": "bmc",
"Manufacturer": "Firefly",
"ManufacturingMode": false,
"UUID": "a1f1c73c-3fc0-5358-8ea8-b5c29ec52c48"
}

Response Fields

FieldTypeDescription
@odata.idstringAccess path of the system resource.
@odata.typestringOData type of the system resource.
IdstringSystem resource identifier.
NamestringSystem resource name.
SystemTypestringSystem type.
DescriptionstringSystem resource description.
StatusobjectSystem status information.
Status.HealthstringSystem health status.
Status.HealthRollupstringRolled-up system health status.
Status.StatestringSystem operating state.
SerialNumberstringSystem serial number.
ProcessorSummaryobjectProcessor summary information.
ProcessorSummary.CoreCountnumberTotal number of processor cores.
ProcessorSummary.CountnumberNumber of physical processors.
ProcessorSummary.LogicalProcessorCountnumberNumber of logical processors.
ProcessorSummary.ModelstringProcessor model.
ProcessorSummary.ThreadingEnabledbooleanWhether hardware threads are enabled.
ProcessorSummary.StatusobjectProcessor status information.
ProcessorSummary.Status.HealthstringProcessor health status.
ProcessorSummary.Status.HealthRollupstringRolled-up processor health status.
ProcessorSummary.Status.StatestringProcessor operating state.
HostingRolesstringHosting role of the system.
HostNamestringSystem host name.
ManufacturerstringSystem manufacturer.
ManufacturingModebooleanWhether the system is in manufacturing mode.
UUIDstringGlobally unique identifier of the system.

2.2 Other System Status APIs

MethodPathDescriptionVerified on Device
GET/redfish/v1/Systems/{SystemId}/Oem/Firefly/StatusQueries the operating system, kernel, SoC, and BMC software status.200 OK
GET/redfish/v1/Systems/{SystemId}/Oem/Firefly/ProductSpecificationsQueries memory, storage, and SoC product specifications.200 OK

3 Network Management Resources

3.1 Querying the Network Interface Resource Collection

ItemContent
MethodGET
Path/redfish/v1/Systems/{SystemId}/EthernetInterfaces
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Success status code200 OK
Basic Auth Token ```bash title="Query the Network Interface Resource Collection" curl --user ':' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc/EthernetInterfaces' ``` ```bash title="Query the Network Interface Resource Collection with a Token" curl --header 'X-Xsrf-Token: ' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc/EthernetInterfaces' ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/EthernetInterfaces",
"@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection",
"Name": "Ethernet Interface Collection",
"Members@odata.count": 6,
"Members": [
{ "@odata.id": "/redfish/v1/Systems/bmc/EthernetInterfaces/nic3" },
{ "@odata.id": "/redfish/v1/Systems/bmc/EthernetInterfaces/MGMT" },
{ "@odata.id": "/redfish/v1/Systems/bmc/EthernetInterfaces/lo" },
{ "@odata.id": "/redfish/v1/Systems/bmc/EthernetInterfaces/nic0" },
{ "@odata.id": "/redfish/v1/Systems/bmc/EthernetInterfaces/nic1" },
{ "@odata.id": "/redfish/v1/Systems/bmc/EthernetInterfaces/nic2" }
]
}

Response Fields

FieldTypeDescription
@odata.idstringAccess path of the network interface resource collection.
@odata.typestringOData type of the network interface resource collection.
NamestringName of the network interface resource collection.
Members@odata.countnumberNumber of network interfaces.
MembersarrayList of network interface resource members.
Members[].@odata.idstringAccess path of a specific network interface.

3.2 Querying a Specific Network Interface

ItemContent
MethodGET
Path/redfish/v1/Systems/{SystemId}/EthernetInterfaces/{EthernetInterfaceId}
Path parameterEthernetInterfaceId: obtained from the network interface resource collection; the example below uses the non-management network interface nic0
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Success status code200 OK
Basic Auth Token ```bash title="Query the Non-Management Network Interface nic0" curl --user ':' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc/EthernetInterfaces/nic0' ``` ```bash title="Query the Non-Management Network Interface nic0 with a Token" curl --header 'X-Xsrf-Token: ' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc/EthernetInterfaces/nic0' ```

Response Example

200 OK · Excerpt of a Real Response
{
"@odata.id": "/redfish/v1/Systems/bmc/EthernetInterfaces/nic0",
"@odata.type": "#EthernetInterface.v1_9_0.EthernetInterface",
"AutoNeg": false,
"DHCPv4": false,
"EthernetInterfaceType": "Physical",
"FQDN": "bmc",
"FullDuplex": "full",
"HostName": "bmc",
"IPv4Addresses": [
{
"Address": "172.22.10.0",
"SubnetMask": "255.255.0.0",
"PrefixLen": 16,
"AddressOrigin": "Static"
}
],
"Id": "nic0",
"InterfaceEnabled": false,
"LinkStatus": "1",
"MACAddress": "42:07:6e:26:82:7b",
"MTUSize": "1500",
"Name": "nic0",
"NameServers": ["114.114.114.114"],
"Routes": [],
"Speed": "1000"
}

Response Fields

FieldTypeDescription
@odata.idstringAccess path of the network interface resource.
@odata.typestringOData type of the network interface resource.
AutoNegbooleanWhether auto-negotiation is enabled.
DHCPv4booleanWhether the address is obtained through DHCPv4.
EthernetInterfaceTypestringNetwork interface type.
FQDNstringFully qualified domain name.
FullDuplexstringDuplex mode.
HostNamestringHost name.
IPv4AddressesarrayList of IPv4 addresses.
IPv4Addresses[].AddressstringIPv4 address.
IPv4Addresses[].SubnetMaskstringIPv4 subnet mask.
IPv4Addresses[].PrefixLennumberIPv4 prefix length.
IPv4Addresses[].AddressOriginstringIPv4 address origin.
IdstringNetwork interface identifier.
InterfaceEnabledbooleanWhether the network interface is enabled.
LinkStatusstringNetwork interface link status.
MACAddressstringMAC address.
MTUSizestringMaximum transmission unit.
NamestringNetwork interface name.
NameServersarrayList of DNS servers.
RoutesarrayList of static routes.
SpeedstringNetwork interface speed in Mbps.

3.3 Querying the Bond Resource Collection

ItemContent
MethodGET
Path/redfish/v1/Systems/{SystemId}/NetworkBondings
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Success status code200 OK
Basic Auth Token ```bash title="Query the Bond Resource Collection" curl --user ':' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc/NetworkBondings' ``` ```bash title="Query the Bond Resource Collection with a Token" curl --header 'X-Xsrf-Token: ' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc/NetworkBondings' ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/NetworkBondings",
"@odata.type": "#FFNetworkBondingCollection.FFNetworkBondingCollection",
"Name": "Ethernet Bonding Collection",
"Members@odata.count": 2,
"Members": [
{ "@odata.id": "/redfish/v1/Systems/bmc/NetworkBondings/bond1" },
{ "@odata.id": "/redfish/v1/Systems/bmc/NetworkBondings/bond0" }
]
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the Bond resource collection.
@odata.typestringOData type of the Bond resource collection.
NamestringName of the Bond resource collection.
Members@odata.countnumberNumber of Bonds.
MembersarrayList of Bond members.
Members[].@odata.idstringAccess path of a specific Bond.

3.4 Querying a Specific Bond

ItemContent
MethodGET
Path/redfish/v1/Systems/{SystemId}/NetworkBondings/{NetworkBondingId}
Path parameterNetworkBondingId: obtained from the Bond resource collection; the example below uses bond1
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Success status code200 OK
Basic Auth Token ```bash title="Query bond1" curl --user ':' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc/NetworkBondings/bond1' ``` ```bash title="Query bond1 with a Token" curl --header 'X-Xsrf-Token: ' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc/NetworkBondings/bond1' ```

Response Example

200 OK · Excerpt of a Real Response
{
"@odata.id": "/redfish/v1/Systems/bmc/NetworkBondings/bond1",
"@odata.type": "#EthNetworkBonding.v1_9_0.EthNetworkBonding",
"Id": "bond1",
"Name": "bond1",
"IPv4Addresses": [],
"MACAddress": "de:38:b5:b6:5f:1d",
"LinkStatus": "1",
"Oem": {
"Firefly": {
"Mode": "802.3ad",
"Interfaces": ["nic2"],
"MIIStatus": "up",
"SettingEnabled": true,
"Bonding": true,
"BondingMaster": "bond1"
}
}
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the Bond resource.
@odata.typestringOData type of the Bond resource.
IdstringBond identifier.
NamestringBond name.
IPv4AddressesarrayList of IPv4 addresses of the Bond.
MACAddressstringMAC address of the Bond.
LinkStatusstringBond link status.
OemobjectOEM extension information.
Oem.FireflyobjectFirefly Bond extension information.
Oem.Firefly.ModestringBond mode.
Oem.Firefly.InterfacesarrayPhysical network interfaces included in the Bond.
Oem.Firefly.MIIStatusstringMII link status.
Oem.Firefly.SettingEnabledbooleanWhether configuration is allowed.
Oem.Firefly.BondingbooleanWhether this is a Bond interface.
Oem.Firefly.BondingMasterstringName of the Bond primary interface.

3.5 Querying the VLAN Resource Collection

ItemContent
MethodGET
Path/redfish/v1/Systems/{SystemId}/NetworkVLANs
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Success status code200 OK
Basic Auth Token ```bash title="Query the VLAN Resource Collection" curl --user ':' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc/NetworkVLANs' ``` ```bash title="Query the VLAN Resource Collection with a Token" curl --header 'X-Xsrf-Token: ' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc/NetworkVLANs' ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/NetworkVLANs",
"@odata.type": "#EthernetInterface.v1_9_0.EthernetInterface",
"Name": "Ethernet VLAN Collection",
"Members@odata.count": 2,
"Members": [
{ "@odata.id": "/redfish/v1/Systems/bmc/NetworkVLANs/vlan4000" },
{ "@odata.id": "/redfish/v1/Systems/bmc/NetworkVLANs/vlan400" }
]
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the VLAN resource collection.
@odata.typestringOData type of the VLAN resource collection.
NamestringName of the VLAN resource collection.
Members@odata.countnumberNumber of VLANs.
MembersarrayList of VLAN members.
Members[].@odata.idstringAccess path of a specific VLAN.

3.6 Querying a Specific VLAN

ItemContent
MethodGET
Path/redfish/v1/Systems/{SystemId}/NetworkVLANs/{NetworkVLANId}
Path parameterNetworkVLANId: obtained from the VLAN resource collection; the example below uses vlan400
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Success status code200 OK
Basic Auth Token ```bash title="Query vlan400" curl --user ':' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc/NetworkVLANs/vlan400' ``` ```bash title="Query vlan400 with a Token" curl --header 'X-Xsrf-Token: ' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc/NetworkVLANs/vlan400' ```

Response Example

The following shows the core fields of the 200 OK response returned by the real device; vlan400 is associated with the non-management network interface nic3.

200 OK · Excerpt of a Real Response
{
"@odata.id": "/redfish/v1/Systems/bmc/NetworkVLANs/vlan400",
"@odata.type": "#EthNetworkVLAN.v1_9_0.EthNetworkVLAN",
"Id": "vlan400",
"Name": "vlan400",
"DHCPv4": false,
"EthernetInterfaceType": "Virtual",
"IPv4Addresses": [],
"InterfaceEnabled": false,
"LinkStatus": "1",
"MACAddress": "56:bd:58:51:7f:f7",
"MTUSize": "1500",
"NameServers": ["114.114.114.114"],
"Routes": [],
"Speed": "1000",
"Oem": {
"Firefly": {
"VlanId": "400",
"VlanLink": "nic3",
"SettingEnabled": true,
"HaveConfig": false,
"NicType": 4
}
}
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the VLAN resource.
@odata.typestringOData type of the VLAN resource.
IdstringVLAN resource identifier.
NamestringVLAN name.
DHCPv4booleanWhether the address is obtained through DHCPv4.
EthernetInterfaceTypestringInterface type; for a VLAN this is a virtual interface.
IPv4AddressesarrayList of IPv4 addresses of the VLAN.
InterfaceEnabledbooleanWhether the VLAN interface is enabled.
LinkStatusstringVLAN link status.
MACAddressstringMAC address of the VLAN interface.
MTUSizestringMaximum transmission unit.
NameServersarrayList of DNS servers.
RoutesarrayList of static routes.
SpeedstringInterface speed in Mbps.
OemobjectOEM extension information.
Oem.FireflyobjectFirefly VLAN extension information.
Oem.Firefly.VlanIdstringIEEE 802.1Q VLAN ID.
Oem.Firefly.VlanLinkstringUnderlying network interface the VLAN attaches to.
Oem.Firefly.SettingEnabledbooleanWhether configuring this VLAN is allowed.
Oem.Firefly.HaveConfigbooleanWhether the backend has detected a persisted configuration.
Oem.Firefly.NicTypenumberNetwork interface type number defined by the backend.

3.7 Configuring a Non-Management Network Interface

Before configuring, query the network interface resources to confirm that the current management IP is not on the target network interface. Testing on the real device confirmed that the management address is on `MGMT`, so the test was performed only on `nic1`.
ItemContent
MethodPOST
ActionInfo/redfish/v1/Systems/{SystemId}/EthernetInterfaces/{EthernetInterfaceId}/Actions/Oem/Firefly/ConfigureActionInfo
Path/redfish/v1/Systems/{SystemId}/EthernetInterfaces/{EthernetInterfaceId}/Actions/Oem/Firefly/EthernetInterface.Configure
PrivilegeOemConfigureNetwork
Request FieldTypeRequiredDescription
IPv4AddressesobjectYesIPv4 configuration object.
IPv4Addresses.Dhcp4booleanNoWhether DHCPv4 is enabled.
IPv4Addresses.Addressesobject[]NoList of static IPv4 addresses.
IPv4Addresses.Addresses[].AddressstringYesIPv4 address.
IPv4Addresses.Addresses[].PrefixLennumberYesNetwork prefix length.
IPv4Addresses.Gateway4stringNoDefault gateway address.
IPv4Addresses.Gateway4PrioritynumberNoDefault gateway priority.
IPv4Addresses.OptionalbooleanNoWhether the interface is allowed to be not ready at startup.
IPv4Addresses.NameServersstring[]NoList of DNS servers.
Routesobject[]NoList of static routes.
Routes[].TostringYesRoute destination network segment.
Routes[].ViastringYesNext-hop address.
Routes[].MetricnumberNoRoute metric.
Basic Auth Token ```bash title="Configure the Non-Management Network Interface nic1" curl --request POST \ --user ':' \ --header 'Content-Type: application/json' \ --data '{ "IPv4Addresses": { "Dhcp4": false, "Addresses": [{ "Address": "198.51.100.10", "PrefixLen": 24 }], "NameServers": [], "Optional": true }, "Routes": [] }' \ '://:/redfish/v1/Systems/bmc/EthernetInterfaces/nic1/Actions/Oem/Firefly/EthernetInterface.Configure' ``` ```bash title="Configure the Non-Management Network Interface nic1 with a Token" curl --request POST \ --header 'X-Xsrf-Token: ' \ --header 'Content-Type: application/json' \ --data '{ "IPv4Addresses": { "Dhcp4": false, "Addresses": [{ "Address": "198.51.100.10", "PrefixLen": 24 }], "NameServers": [], "Optional": true }, "Routes": [] }' \ '://:/redfish/v1/Systems/bmc/EthernetInterfaces/nic1/Actions/Oem/Firefly/EthernetInterface.Configure' ```

Response Example

200 OK
{
"@odata.type": "#Message.v1_1_1.Message",
"Timestamp": "1785836138",
"MessageId": "Base.1.11.0.Success",
"Message": "The request completed successfully.",
"MessageArgs": [],
"MessageSeverity": "OK",
"Severity": "",
"Oem": null,
"RelatedProperties": null,
"Resolution": "None"
}

Response Fields

FieldTypeDescription
@odata.typestringOData type of the Redfish message resource.
TimestampstringTimestamp recorded by the server when generating the response.
MessageIdstringMessage identifier; Base.1.11.0.Success on success.
MessagestringDescription of the request processing result.
MessageArgsarrayList of message formatting arguments; an empty array in this response.
MessageSeveritystringMessage severity; OK on success.
SeveritystringSeverity field kept for compatibility; an empty string in this response.
Oemobject | nullOEM extension message; null in this response.
RelatedPropertiesarray | nullProperty paths related to the message; null in this response.
ResolutionstringRecommended resolution; None on success.
That POST returned `200 OK`, but a subsequent GET of `nic1` still showed `IPv4Addresses` as an empty array. Clients must query the resource again after configuration and must not assume the configuration took effect based on the success message alone.

3.8 Configuring a Bond

ItemContent
MethodPOST
ActionInfo/redfish/v1/Systems/{SystemId}/NetworkBondings/{NetworkBondingId}/Actions/Oem/Firefly/ConfigureActionInfo
Path/redfish/v1/Systems/{SystemId}/NetworkBondings/{NetworkBondingId}/Actions/Oem/Firefly/NetworkBonding.Configure
Test objectbond1, with the non-management network interface nic2 as its member
Success status code200 OK
Request FieldTypeRequiredDescription
ModestringYesBond mode: 802.3ad, active-backup, balance-alb, balance-rr, balance-tlb, balance-xor, or broadcast.
Interfacesstring[]YesPhysical network interface members of the Bond; must not include the network interface that carries the management address.
IPv4AddressesobjectYesIPv4 configuration.
IPv4Addresses.Dhcp4booleanNoWhether DHCPv4 is enabled.
IPv4Addresses.Addressesobject[]NoList of static IPv4 addresses.
IPv4Addresses.Addresses[].AddressstringYesIPv4 address.
IPv4Addresses.Addresses[].PrefixLennumberYesNetwork prefix length.
IPv4Addresses.Gateway4stringNoDefault gateway.
IPv4Addresses.Gateway4PrioritynumberNoDefault gateway priority.
IPv4Addresses.OptionalbooleanNoWhether the interface is allowed to be not ready at startup.
IPv4Addresses.NameServersstring[]NoDNS servers.
Routesobject[]NoList of static routes; each entry supports To, Via, and the optional Metric.
Basic Auth Token ```bash title="Configure bond1" curl --request POST \ --user ':' \ --header 'Content-Type: application/json' \ --data '{ "Mode": "802.3ad", "Interfaces": ["nic2"], "IPv4Addresses": { "Dhcp4": false, "Addresses": [], "NameServers": ["114.114.114.114"], "Optional": true }, "Routes": [] }' \ '://:/redfish/v1/Systems/bmc/NetworkBondings/bond1/Actions/Oem/Firefly/NetworkBonding.Configure' ``` ```bash title="Configure bond1 with a Token" curl --request POST \ --header 'X-Xsrf-Token: ' \ --header 'Content-Type: application/json' \ --data '{ "Mode": "802.3ad", "Interfaces": ["nic2"], "IPv4Addresses": { "Dhcp4": false, "Addresses": [], "NameServers": ["114.114.114.114"], "Optional": true }, "Routes": [] }' \ '://:/redfish/v1/Systems/bmc/NetworkBondings/bond1/Actions/Oem/Firefly/NetworkBonding.Configure' ```

Response Example

200 OK
{
"@odata.type": "#Message.v1_1_1.Message",
"Timestamp": "1785836138",
"MessageId": "Base.1.11.0.Success",
"Message": "The request completed successfully.",
"MessageArgs": [],
"MessageSeverity": "OK",
"Severity": "",
"Oem": null,
"RelatedProperties": null,
"Resolution": "None"
}

Response Fields

FieldTypeDescription
@odata.typestringOData type of the Redfish message resource.
TimestampstringTimestamp recorded by the server when generating the response.
MessageIdstringMessage identifier; Base.1.11.0.Success on success.
MessagestringDescription of the request processing result.
MessageArgsarrayList of message formatting arguments; an empty array in this response.
MessageSeveritystringMessage severity; OK on success.
SeveritystringSeverity field kept for compatibility; an empty string in this response.
Oemobject | nullOEM extension message; null in this response.
RelatedPropertiesarray | nullProperty paths related to the message; null in this response.
ResolutionstringRecommended resolution; None on success.

After writing the original configuration of bond1 back to the real device, a follow-up GET confirms that its mode is still 802.3ad and its member is still nic2.

3.9 Adding a Bond

ItemContent
MethodPOST
ActionInfo/redfish/v1/Systems/{SystemId}/NetworkBondings/Actions/Oem/Firefly/AddConfigureActionInfo
Path/redfish/v1/Systems/{SystemId}/NetworkBondings/Actions/Oem/Firefly/NetworkBondingAdd.Configure
New fieldDevice: Bond name; the other fields are the same as those of "Configuring a Bond"
Test objectTemporary bond9, with the non-management network interface nic1 as its member
Success status code200 OK
Basic Auth Token ```bash title="Add bond9" curl --request POST \ --user ':' \ --header 'Content-Type: application/json' \ --data '{ "Mode": "active-backup", "Interfaces": ["nic1"], "Device": "bond9", "IPv4Addresses": { "Dhcp4": false, "Addresses": [], "NameServers": [], "Optional": true }, "Routes": [] }' \ '://:/redfish/v1/Systems/bmc/NetworkBondings/Actions/Oem/Firefly/NetworkBondingAdd.Configure' ``` ```bash title="Add bond9 with a Token" curl --request POST \ --header 'X-Xsrf-Token: ' \ --header 'Content-Type: application/json' \ --data '{ "Mode": "active-backup", "Interfaces": ["nic1"], "Device": "bond9", "IPv4Addresses": { "Dhcp4": false, "Addresses": [], "NameServers": [], "Optional": true }, "Routes": [] }' \ '://:/redfish/v1/Systems/bmc/NetworkBondings/Actions/Oem/Firefly/NetworkBondingAdd.Configure' ```

Response Example

200 OK
{
"@odata.type": "#Message.v1_1_1.Message",
"Timestamp": "1785836138",
"MessageId": "Base.1.11.0.Success",
"Message": "The request completed successfully.",
"MessageArgs": [],
"MessageSeverity": "OK",
"Severity": "",
"Oem": null,
"RelatedProperties": null,
"Resolution": "None"
}

Response Fields

FieldTypeDescription
@odata.typestringOData type of the Redfish message resource.
TimestampstringTimestamp recorded by the server when generating the response.
MessageIdstringMessage identifier; Base.1.11.0.Success on success.
MessagestringDescription of the request processing result.
MessageArgsarrayList of message formatting arguments; an empty array in this response.
MessageSeveritystringMessage severity; OK on success.
SeveritystringSeverity field kept for compatibility; an empty string in this response.
Oemobject | nullOEM extension message; null in this response.
RelatedPropertiesarray | nullProperty paths related to the message; null in this response.
ResolutionstringRecommended resolution; None on success.
Although the real device returned a success message, `bond9` did not appear when the Bond collection was queried afterwards. Callers must not conclude from `200 OK` alone that the Bond was created; they must GET the resource collection again to confirm.

3.10 Deleting a Bond

ItemContent
MethodPOST
ActionInfo/redfish/v1/Systems/{SystemId}/NetworkBondings/Actions/Oem/Firefly/DelConfigureActionInfo
Path/redfish/v1/Systems/{SystemId}/NetworkBondings/Actions/Oem/Firefly/NetworkBondingDel.Configure
Request fieldDevice: name of the Bond to delete
Test objectTemporary bond9
Success status code200 OK
Basic Auth Token ```bash title="Delete bond9" curl --request POST \ --user ':' \ --header 'Content-Type: application/json' \ --data '{ "Device": "bond9" }' \ '://:/redfish/v1/Systems/bmc/NetworkBondings/Actions/Oem/Firefly/NetworkBondingDel.Configure' ``` ```bash title="Delete bond9 with a Token" curl --request POST \ --header 'X-Xsrf-Token: ' \ --header 'Content-Type: application/json' \ --data '{ "Device": "bond9" }' \ '://:/redfish/v1/Systems/bmc/NetworkBondings/Actions/Oem/Firefly/NetworkBondingDel.Configure' ```

Response Example

200 OK
{
"@odata.type": "#Message.v1_1_1.Message",
"Timestamp": "1785836138",
"MessageId": "Base.1.11.0.Success",
"Message": "The request completed successfully.",
"MessageArgs": [],
"MessageSeverity": "OK",
"Severity": "",
"Oem": null,
"RelatedProperties": null,
"Resolution": "None"
}

Response Fields

FieldTypeDescription
@odata.typestringOData type of the Redfish message resource.
TimestampstringTimestamp recorded by the server when generating the response.
MessageIdstringMessage identifier; Base.1.11.0.Success on success.
MessagestringDescription of the request processing result.
MessageArgsarrayList of message formatting arguments; an empty array in this response.
MessageSeveritystringMessage severity; OK on success.
SeveritystringSeverity field kept for compatibility; an empty string in this response.
Oemobject | nullOEM extension message; null in this response.
RelatedPropertiesarray | nullProperty paths related to the message; null in this response.
ResolutionstringRecommended resolution; None on success.

After the deletion, querying the Bond collection again shows that the real device contains only bond0 and bond1.

3.11 Configuring a VLAN

ItemContent
MethodPOST
ActionInfo/redfish/v1/Systems/{SystemId}/NetworkVLANs/{NetworkVLANId}/Actions/Oem/Firefly/ConfigureActionInfo
Path/redfish/v1/Systems/{SystemId}/NetworkVLANs/{NetworkVLANId}/Actions/Oem/Firefly/NetworkVLAN.Configure
Test objectvlan400, with the non-management network interface nic3 as the underlying interface
Success status code200 OK
Request FieldTypeRequiredDescription
IdnumberYesVLAN ID; the value must be within the IEEE 802.1Q range.
LinkstringYesUnderlying network interface the VLAN attaches to; do not use the network interface that carries the management address.
IPv4AddressesobjectNoIPv4 configuration; the sub-fields are the same as those for network interface configuration.
Routesobject[]NoList of static routes.
When configuring an existing VLAN, the backend determines the device name from `{NetworkVLANId}` in the URL. When the real-device request body explicitly passed `Device`, the response was `400 Base.1.11.0.PropertyUnknown`. Basic Auth Token ```bash title="Configure vlan400" curl --request POST \ --user ':' \ --header 'Content-Type: application/json' \ --data '{ "IPv4Addresses": { "Dhcp4": false, "Addresses": [], "NameServers": ["114.114.114.114"], "Optional": true }, "Link": "nic3", "Id": 400, "Routes": [] }' \ '://:/redfish/v1/Systems/bmc/NetworkVLANs/vlan400/Actions/Oem/Firefly/NetworkVLAN.Configure' ``` ```bash title="Configure vlan400 with a Token" curl --request POST \ --header 'X-Xsrf-Token: ' \ --header 'Content-Type: application/json' \ --data '{ "IPv4Addresses": { "Dhcp4": false, "Addresses": [], "NameServers": ["114.114.114.114"], "Optional": true }, "Link": "nic3", "Id": 400, "Routes": [] }' \ '://:/redfish/v1/Systems/bmc/NetworkVLANs/vlan400/Actions/Oem/Firefly/NetworkVLAN.Configure' ```

Response Example

200 OK
{
"@odata.type": "#Message.v1_1_1.Message",
"Timestamp": "1785836138",
"MessageId": "Base.1.11.0.Success",
"Message": "The request completed successfully.",
"MessageArgs": [],
"MessageSeverity": "OK",
"Severity": "",
"Oem": null,
"RelatedProperties": null,
"Resolution": "None"
}

Response Fields

FieldTypeDescription
@odata.typestringOData type of the Redfish message resource.
TimestampstringTimestamp recorded by the server when generating the response.
MessageIdstringMessage identifier; Base.1.11.0.Success on success.
MessagestringDescription of the request processing result.
MessageArgsarrayList of message formatting arguments; an empty array in this response.
MessageSeveritystringMessage severity; OK on success.
SeveritystringSeverity field kept for compatibility; an empty string in this response.
Oemobject | nullOEM extension message; null in this response.
RelatedPropertiesarray | nullProperty paths related to the message; null in this response.
ResolutionstringRecommended resolution; None on success.

After the configuration, a follow-up GET of vlan400 shows that the real device still returns VlanId=400 and VlanLink=nic3.

3.12 Adding a VLAN

ItemContent
MethodPOST
ActionInfo/redfish/v1/Systems/{SystemId}/NetworkVLANs/Actions/Oem/Firefly/AddConfigureActionInfo
Path/redfish/v1/Systems/{SystemId}/NetworkVLANs/Actions/Oem/Firefly/NetworkVlANAdd.Configure
Request fieldsId, Link, and Device are required; IPv4Addresses and Routes are optional
Test objectTemporary vlan4090, with the non-management network interface nic1 as the underlying interface
Success status code200 OK
Basic Auth Token ```bash title="Add vlan4090" curl --request POST \ --user ':' \ --header 'Content-Type: application/json' \ --data '{ "IPv4Addresses": { "Dhcp4": false, "Addresses": [], "NameServers": [], "Optional": true }, "Link": "nic1", "Id": 4090, "Device": "vlan4090", "Routes": [] }' \ '://:/redfish/v1/Systems/bmc/NetworkVLANs/Actions/Oem/Firefly/NetworkVlANAdd.Configure' ``` ```bash title="Add vlan4090 with a Token" curl --request POST \ --header 'X-Xsrf-Token: ' \ --header 'Content-Type: application/json' \ --data '{ "IPv4Addresses": { "Dhcp4": false, "Addresses": [], "NameServers": [], "Optional": true }, "Link": "nic1", "Id": 4090, "Device": "vlan4090", "Routes": [] }' \ '://:/redfish/v1/Systems/bmc/NetworkVLANs/Actions/Oem/Firefly/NetworkVlANAdd.Configure' ```

Response Example

200 OK
{
"@odata.type": "#Message.v1_1_1.Message",
"Timestamp": "1785836138",
"MessageId": "Base.1.11.0.Success",
"Message": "The request completed successfully.",
"MessageArgs": [],
"MessageSeverity": "OK",
"Severity": "",
"Oem": null,
"RelatedProperties": null,
"Resolution": "None"
}

Response Fields

FieldTypeDescription
@odata.typestringOData type of the Redfish message resource.
TimestampstringTimestamp recorded by the server when generating the response.
MessageIdstringMessage identifier; Base.1.11.0.Success on success.
MessagestringDescription of the request processing result.
MessageArgsarrayList of message formatting arguments; an empty array in this response.
MessageSeveritystringMessage severity; OK on success.
SeveritystringSeverity field kept for compatibility; an empty string in this response.
Oemobject | nullOEM extension message; null in this response.
RelatedPropertiesarray | nullProperty paths related to the message; null in this response.
ResolutionstringRecommended resolution; None on success.
After the real device returned a success message, `vlan4090` did not appear in the VLAN collection. Callers must query the VLAN collection or the specific VLAN again to confirm whether the configuration actually took effect.

3.13 Deleting a VLAN

ItemContent
MethodPOST
ActionInfo/redfish/v1/Systems/{SystemId}/NetworkVLANs/Actions/Oem/Firefly/DelConfigureActionInfo
Path/redfish/v1/Systems/{SystemId}/NetworkVLANs/Actions/Oem/Firefly/NetworkVLANDel.Configure
Request fieldDevice: name of the VLAN device to delete, required
Test objectTemporary vlan4090
Success status code200 OK
Basic Auth Token ```bash title="Delete vlan4090" curl --request POST \ --user ':' \ --header 'Content-Type: application/json' \ --data '{ "Device": "vlan4090" }' \ '://:/redfish/v1/Systems/bmc/NetworkVLANs/Actions/Oem/Firefly/NetworkVLANDel.Configure' ``` ```bash title="Delete vlan4090 with a Token" curl --request POST \ --header 'X-Xsrf-Token: ' \ --header 'Content-Type: application/json' \ --data '{ "Device": "vlan4090" }' \ '://:/redfish/v1/Systems/bmc/NetworkVLANs/Actions/Oem/Firefly/NetworkVLANDel.Configure' ```

Response Example

200 OK
{
"@odata.type": "#Message.v1_1_1.Message",
"Timestamp": "1785836138",
"MessageId": "Base.1.11.0.Success",
"Message": "The request completed successfully.",
"MessageArgs": [],
"MessageSeverity": "OK",
"Severity": "",
"Oem": null,
"RelatedProperties": null,
"Resolution": "None"
}

Response Fields

FieldTypeDescription
@odata.typestringOData type of the Redfish message resource.
TimestampstringTimestamp recorded by the server when generating the response.
MessageIdstringMessage identifier; Base.1.11.0.Success on success.
MessagestringDescription of the request processing result.
MessageArgsarrayList of message formatting arguments; an empty array in this response.
MessageSeveritystringMessage severity; OK on success.
SeveritystringSeverity field kept for compatibility; an empty string in this response.
Oemobject | nullOEM extension message; null in this response.
RelatedPropertiesarray | nullProperty paths related to the message; null in this response.
ResolutionstringRecommended resolution; None on success.

After the deletion, querying the VLAN collection again shows that the real device contains only vlan400 and vlan4000.

3.14 Querying the Non-Management Network Interface Configuration ActionInfo

ItemContent
MethodGET
Path/redfish/v1/Systems/bmc/EthernetInterfaces/nic1/Actions/Oem/Firefly/ConfigureActionInfo
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Actual status code200 OK
Basic Auth Token ```bash title="Query the Non-Management Network Interface Configuration ActionInfo" curl --user ":" \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/EthernetInterfaces/nic1/Actions/Oem/Firefly/ConfigureActionInfo" ``` ```bash title="Query the Non-Management Network Interface Configuration ActionInfo with a Token" curl --header "X-Xsrf-Token: " \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/EthernetInterfaces/nic1/Actions/Oem/Firefly/ConfigureActionInfo" ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/EthernetInterfaces/nic1/Actions/Oem/Firefly/ConfigureActionInfo",
"@odata.type": "#ActionInfo.v1_1_2.ActionInfo",
"Id": "ActionInfo",
"Name": "Action Info",
"Parameters": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Boolean",
"Name": "Dhcp4",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "Address",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Number",
"Name": "PrefixLen",
"Required": true
}
],
"DataType": "ObjectArray",
"Name": "Addresses",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "Gateway4",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Number",
"Name": "Gateway4Priority",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Boolean",
"Name": "Optional",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "StringArray",
"Name": "NameServers",
"Required": false
}
],
"DataType": "Object",
"Name": "IPv4Addresses",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "To",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "Via",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Number",
"Name": "Metric",
"Required": false
}
],
"DataType": "ObjectArray",
"Name": "Routes",
"Required": false
}
]
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the ActionInfo resource.
@odata.typestringOData type of the ActionInfo or message resource.
IdstringActionInfo resource identifier.
NamestringActionInfo resource name.
ParametersarrayList of operation parameter definitions.
Parameters[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].AllowableValuesarrayAllowed values and structure definitions for a parameter or sub-parameter.
Parameters[].AllowableValues[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowableValues[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].AllowableValues[].DataTypestringParameter data type.
Parameters[].AllowableValues[].NamestringParameter name.
Parameters[].AllowableValues[].RequiredbooleanWhether the parameter is required.
Parameters[].AllowableValues[].AllowableValuesarrayAllowed values and structure definitions for a parameter or sub-parameter.
Parameters[].AllowableValues[].AllowableValues[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowableValues[].AllowableValues[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].AllowableValues[].AllowableValues[].DataTypestringParameter data type.
Parameters[].AllowableValues[].AllowableValues[].NamestringParameter name.
Parameters[].AllowableValues[].AllowableValues[].RequiredbooleanWhether the parameter is required.
Parameters[].DataTypestringParameter data type.
Parameters[].NamestringParameter name.
Parameters[].RequiredbooleanWhether the parameter is required.

3.15 Querying the Bond Configuration ActionInfo

ItemContent
MethodGET
Path/redfish/v1/Systems/bmc/NetworkBondings/bond1/Actions/Oem/Firefly/ConfigureActionInfo
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Actual status code200 OK
Basic Auth Token ```bash title="Query the Bond Configuration ActionInfo" curl --user ":" \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/NetworkBondings/bond1/Actions/Oem/Firefly/ConfigureActionInfo" ``` ```bash title="Query the Bond Configuration ActionInfo with a Token" curl --header "X-Xsrf-Token: " \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/NetworkBondings/bond1/Actions/Oem/Firefly/ConfigureActionInfo" ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/NetworkBondings/bond1/Actions/Oem/Firefly/ConfigureActionInfo",
"@odata.type": "#ActionInfo.v1_1_2.ActionInfo",
"Id": "ActionInfo",
"Name": "Action Info",
"Parameters": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Boolean",
"Name": "Dhcp4",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "Address",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Number",
"Name": "PrefixLen",
"Required": true
}
],
"DataType": "ObjectArray",
"Name": "Addresses",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "Gateway4",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Number",
"Name": "Gateway4Priority",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Boolean",
"Name": "Optional",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "StringArray",
"Name": "NameServers",
"Required": false
}
],
"DataType": "Object",
"Name": "IPv4Addresses",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
"802.3ad",
"active-backup",
"balance-alb",
"balance-rr",
"balance-tlb",
"balance-xor",
"broadcast"
],
"DataType": "String",
"Name": "Mode",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "StringArray",
"Name": "Interfaces",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "To",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "Via",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Number",
"Name": "Metric",
"Required": false
}
],
"DataType": "ObjectArray",
"Name": "Routes",
"Required": false
}
]
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the ActionInfo resource.
@odata.typestringOData type of the ActionInfo or message resource.
IdstringActionInfo resource identifier.
NamestringActionInfo resource name.
ParametersarrayList of operation parameter definitions.
Parameters[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].AllowableValuesarrayAllowed values and structure definitions for a parameter or sub-parameter.
Parameters[].AllowableValues[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowableValues[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].AllowableValues[].DataTypestringParameter data type.
Parameters[].AllowableValues[].NamestringParameter name.
Parameters[].AllowableValues[].RequiredbooleanWhether the parameter is required.
Parameters[].AllowableValues[].AllowableValuesarrayAllowed values and structure definitions for a parameter or sub-parameter.
Parameters[].AllowableValues[].AllowableValues[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowableValues[].AllowableValues[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].AllowableValues[].AllowableValues[].DataTypestringParameter data type.
Parameters[].AllowableValues[].AllowableValues[].NamestringParameter name.
Parameters[].AllowableValues[].AllowableValues[].RequiredbooleanWhether the parameter is required.
Parameters[].DataTypestringParameter data type.
Parameters[].NamestringParameter name.
Parameters[].RequiredbooleanWhether the parameter is required.

3.16 Querying the Add Bond ActionInfo

ItemContent
MethodGET
Path/redfish/v1/Systems/bmc/NetworkBondings/Actions/Oem/Firefly/AddConfigureActionInfo
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Actual status code200 OK
Basic Auth Token ```bash title="Query the Add Bond ActionInfo" curl --user ":" \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/NetworkBondings/Actions/Oem/Firefly/AddConfigureActionInfo" ``` ```bash title="Query the Add Bond ActionInfo with a Token" curl --header "X-Xsrf-Token: " \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/NetworkBondings/Actions/Oem/Firefly/AddConfigureActionInfo" ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/NetworkBondings/Actions/Oem/Firefly/AddConfigureActionInfo",
"@odata.type": "#ActionInfo.v1_1_2.ActionInfo",
"Id": "ActionInfo",
"Name": "Action Info",
"Parameters": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Boolean",
"Name": "Dhcp4",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "Address",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Number",
"Name": "PrefixLen",
"Required": true
}
],
"DataType": "ObjectArray",
"Name": "Addresses",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "Gateway4",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Number",
"Name": "Gateway4Priority",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Boolean",
"Name": "Optional",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "StringArray",
"Name": "NameServers",
"Required": false
}
],
"DataType": "Object",
"Name": "IPv4Addresses",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
"802.3ad",
"active-backup",
"balance-alb",
"balance-rr",
"balance-tlb",
"balance-xor",
"broadcast"
],
"DataType": "String",
"Name": "Mode",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "StringArray",
"Name": "Interfaces",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "Device",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "To",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "Via",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Number",
"Name": "Metric",
"Required": false
}
],
"DataType": "ObjectArray",
"Name": "Routes",
"Required": false
}
]
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the ActionInfo resource.
@odata.typestringOData type of the ActionInfo or message resource.
IdstringActionInfo resource identifier.
NamestringActionInfo resource name.
ParametersarrayList of operation parameter definitions.
Parameters[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].AllowableValuesarrayAllowed values and structure definitions for a parameter or sub-parameter.
Parameters[].AllowableValues[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowableValues[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].AllowableValues[].DataTypestringParameter data type.
Parameters[].AllowableValues[].NamestringParameter name.
Parameters[].AllowableValues[].RequiredbooleanWhether the parameter is required.
Parameters[].AllowableValues[].AllowableValuesarrayAllowed values and structure definitions for a parameter or sub-parameter.
Parameters[].AllowableValues[].AllowableValues[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowableValues[].AllowableValues[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].AllowableValues[].AllowableValues[].DataTypestringParameter data type.
Parameters[].AllowableValues[].AllowableValues[].NamestringParameter name.
Parameters[].AllowableValues[].AllowableValues[].RequiredbooleanWhether the parameter is required.
Parameters[].DataTypestringParameter data type.
Parameters[].NamestringParameter name.
Parameters[].RequiredbooleanWhether the parameter is required.

3.17 Querying the Delete Bond ActionInfo

ItemContent
MethodGET
Path/redfish/v1/Systems/bmc/NetworkBondings/Actions/Oem/Firefly/DelConfigureActionInfo
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Actual status code200 OK
Basic Auth Token ```bash title="Query the Delete Bond ActionInfo" curl --user ":" \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/NetworkBondings/Actions/Oem/Firefly/DelConfigureActionInfo" ``` ```bash title="Query the Delete Bond ActionInfo with a Token" curl --header "X-Xsrf-Token: " \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/NetworkBondings/Actions/Oem/Firefly/DelConfigureActionInfo" ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/NetworkBondings/Actions/Oem/Firefly/DelConfigureActionInfo",
"@odata.type": "#ActionInfo.v1_1_2.ActionInfo",
"Id": "ActionInfo",
"Name": "Action Info",
"Parameters": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "Device",
"Required": false
}
]
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the ActionInfo resource.
@odata.typestringOData type of the ActionInfo or message resource.
IdstringActionInfo resource identifier.
NamestringActionInfo resource name.
ParametersarrayList of operation parameter definitions.
Parameters[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].DataTypestringParameter data type.
Parameters[].NamestringParameter name.
Parameters[].RequiredbooleanWhether the parameter is required.

3.18 Querying the VLAN Configuration ActionInfo

ItemContent
MethodGET
Path/redfish/v1/Systems/bmc/NetworkVLANs/vlan400/Actions/Oem/Firefly/ConfigureActionInfo
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Actual status code200 OK
Basic Auth Token ```bash title="Query the VLAN Configuration ActionInfo" curl --user ":" \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/NetworkVLANs/vlan400/Actions/Oem/Firefly/ConfigureActionInfo" ``` ```bash title="Query the VLAN Configuration ActionInfo with a Token" curl --header "X-Xsrf-Token: " \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/NetworkVLANs/vlan400/Actions/Oem/Firefly/ConfigureActionInfo" ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/NetworkVLANs/vlan400/Actions/Oem/Firefly/ConfigureActionInfo",
"@odata.type": "#ActionInfo.v1_1_2.ActionInfo",
"Id": "ActionInfo",
"Name": "Action Info",
"Parameters": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Boolean",
"Name": "Dhcp4",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "Address",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Number",
"Name": "PrefixLen",
"Required": true
}
],
"DataType": "ObjectArray",
"Name": "Addresses",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "Gateway4",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Number",
"Name": "Gateway4Priority",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Boolean",
"Name": "Optional",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "StringArray",
"Name": "NameServers",
"Required": false
}
],
"DataType": "Object",
"Name": "IPv4Addresses",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Number",
"Name": "Id",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "Link",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "To",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "Via",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Number",
"Name": "Metric",
"Required": false
}
],
"DataType": "ObjectArray",
"Name": "Routes",
"Required": false
}
]
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the ActionInfo resource.
@odata.typestringOData type of the ActionInfo or message resource.
IdstringActionInfo resource identifier.
NamestringActionInfo resource name.
ParametersarrayList of operation parameter definitions.
Parameters[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].AllowableValuesarrayAllowed values and structure definitions for a parameter or sub-parameter.
Parameters[].AllowableValues[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowableValues[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].AllowableValues[].DataTypestringParameter data type.
Parameters[].AllowableValues[].NamestringParameter name.
Parameters[].AllowableValues[].RequiredbooleanWhether the parameter is required.
Parameters[].AllowableValues[].AllowableValuesarrayAllowed values and structure definitions for a parameter or sub-parameter.
Parameters[].AllowableValues[].AllowableValues[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowableValues[].AllowableValues[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].AllowableValues[].AllowableValues[].DataTypestringParameter data type.
Parameters[].AllowableValues[].AllowableValues[].NamestringParameter name.
Parameters[].AllowableValues[].AllowableValues[].RequiredbooleanWhether the parameter is required.
Parameters[].DataTypestringParameter data type.
Parameters[].NamestringParameter name.
Parameters[].RequiredbooleanWhether the parameter is required.

3.19 Querying the Add VLAN ActionInfo

ItemContent
MethodGET
Path/redfish/v1/Systems/bmc/NetworkVLANs/Actions/Oem/Firefly/AddConfigureActionInfo
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Actual status code200 OK
Basic Auth Token ```bash title="Query the Add VLAN ActionInfo" curl --user ":" \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/NetworkVLANs/Actions/Oem/Firefly/AddConfigureActionInfo" ``` ```bash title="Query the Add VLAN ActionInfo with a Token" curl --header "X-Xsrf-Token: " \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/NetworkVLANs/Actions/Oem/Firefly/AddConfigureActionInfo" ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/NetworkVLANs/Actions/Oem/Firefly/AddConfigureActionInfo",
"@odata.type": "#ActionInfo.v1_1_2.ActionInfo",
"Id": "ActionInfo",
"Name": "Action Info",
"Parameters": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Boolean",
"Name": "Dhcp4",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "Address",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Number",
"Name": "PrefixLen",
"Required": true
}
],
"DataType": "ObjectArray",
"Name": "Addresses",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "Gateway4",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Number",
"Name": "Gateway4Priority",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Boolean",
"Name": "Optional",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "StringArray",
"Name": "NameServers",
"Required": false
}
],
"DataType": "Object",
"Name": "IPv4Addresses",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Number",
"Name": "Id",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "Link",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "Device",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "To",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "Via",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Number",
"Name": "Metric",
"Required": false
}
],
"DataType": "ObjectArray",
"Name": "Routes",
"Required": false
}
]
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the ActionInfo resource.
@odata.typestringOData type of the ActionInfo or message resource.
IdstringActionInfo resource identifier.
NamestringActionInfo resource name.
ParametersarrayList of operation parameter definitions.
Parameters[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].AllowableValuesarrayAllowed values and structure definitions for a parameter or sub-parameter.
Parameters[].AllowableValues[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowableValues[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].AllowableValues[].DataTypestringParameter data type.
Parameters[].AllowableValues[].NamestringParameter name.
Parameters[].AllowableValues[].RequiredbooleanWhether the parameter is required.
Parameters[].AllowableValues[].AllowableValuesarrayAllowed values and structure definitions for a parameter or sub-parameter.
Parameters[].AllowableValues[].AllowableValues[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowableValues[].AllowableValues[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].AllowableValues[].AllowableValues[].DataTypestringParameter data type.
Parameters[].AllowableValues[].AllowableValues[].NamestringParameter name.
Parameters[].AllowableValues[].AllowableValues[].RequiredbooleanWhether the parameter is required.
Parameters[].DataTypestringParameter data type.
Parameters[].NamestringParameter name.
Parameters[].RequiredbooleanWhether the parameter is required.

3.20 Querying the Delete VLAN ActionInfo

ItemContent
MethodGET
Path/redfish/v1/Systems/bmc/NetworkVLANs/Actions/Oem/Firefly/DelConfigureActionInfo
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Actual status code200 OK
Basic Auth Token ```bash title="Query the Delete VLAN ActionInfo" curl --user ":" \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/NetworkVLANs/Actions/Oem/Firefly/DelConfigureActionInfo" ``` ```bash title="Query the Delete VLAN ActionInfo with a Token" curl --header "X-Xsrf-Token: " \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/NetworkVLANs/Actions/Oem/Firefly/DelConfigureActionInfo" ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/NetworkVLANs/Actions/Oem/Firefly/DelConfigureActionInfo",
"@odata.type": "#ActionInfo.v1_1_2.ActionInfo",
"Id": "ActionInfo",
"Name": "Action Info",
"Parameters": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "Device",
"Required": true
}
]
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the ActionInfo resource.
@odata.typestringOData type of the ActionInfo or message resource.
IdstringActionInfo resource identifier.
NamestringActionInfo resource name.
ParametersarrayList of operation parameter definitions.
Parameters[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].DataTypestringParameter data type.
Parameters[].NamestringParameter name.
Parameters[].RequiredbooleanWhether the parameter is required.

4 Time Management Resources

4.1 Querying the System Time

ItemContent
MethodGET
Path/redfish/v1/Systems/{SystemId}/Oem/Firefly/DateTime
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Success status code200 OK
Basic Auth Token ```bash title="Query the System Time" curl --user ':' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc/Oem/Firefly/DateTime' ``` ```bash title="Query the System Time with a Token" curl --header 'X-Xsrf-Token: ' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc/Oem/Firefly/DateTime' ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/Oem/Firefly/DateTime",
"@odata.type": "#FireflyDateTime.v1_9_0.FireflyDateTime",
"Id": "DateTime",
"Name": "DateTime",
"Actions": {
"#DateTime.Configure": {
"target": "/redfish/v1/Systems/bmc/Oem/Firefly/DateTime/Actions/ComputerSystem.SetDateTime",
"@Redfish.ActionInfo": "/redfish/v1/Systems/bmc/Oem/Firefly/DateTime/Actions/SetDateTimeActionInfo"
}
},
"DateTime": "2026-08-04 17:05:28"
}

Response Fields

FieldTypeDescription
@odata.idstringAccess path of the system time resource.
@odata.typestringOData type of the system time resource.
IdstringSystem time resource identifier.
NamestringSystem time resource name.
ActionsobjectOperations available for the system time.
Actions.#DateTime.ConfigureobjectOperation definition for setting the system time.
Actions.#DateTime.Configure.targetstringPOST path for setting the system time.
Actions.#DateTime.Configure.@Redfish.ActionInfostringActionInfo path for setting the time.
DateTimestringCurrent system date and time.

4.2 Querying the Time Zone

ItemContent
MethodGET
Path/redfish/v1/Systems/{SystemId}/Oem/Firefly/TimeZone
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Request bodyNone
Success status code200 OK
Basic Auth Token ```bash title="Query the Time Zone" curl --user ':' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc/Oem/Firefly/TimeZone' ``` ```bash title="Query the Time Zone with a Token" curl --header 'X-Xsrf-Token: ' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc/Oem/Firefly/TimeZone' ```

Response Example

The following is a real 200 OK response returned by a test device.

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/Oem/Firefly/TimeZone",
"@odata.type": "#FireflyDateTime.v1_9_0.FireflyTimeZone",
"Id": "TimeZone",
"Name": "TimeZone",
"Actions": {
"#TimeZone.Configure": {
"target": "/redfish/v1/Systems/bmc/Oem/Firefly/TimeZone/Actions/ComputerSystem.SetTimeZone",
"@Redfish.ActionInfo": "/redfish/v1/Systems/bmc/Oem/Firefly/TimeZone/Actions/SetTimeZoneActionInfo"
}
},
"TimeZone": "Etc/GMT-8"
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the time zone resource.
@odata.typestringOData type of the time zone resource.
IdstringTime zone resource identifier.
NamestringTime zone resource name.
ActionsobjectOperations supported by the time zone resource.
Actions.#TimeZone.ConfigureobjectOperation definition for setting the time zone.
Actions.#TimeZone.Configure.targetstringPOST path for setting the time zone.
Actions.#TimeZone.Configure.@Redfish.ActionInfostringActionInfo path for setting the time zone.
TimeZonestringCurrent IANA time zone name.

4.3 Querying the Full Time Service Configuration

ItemContent
MethodGET
Path/redfish/v1/Systems/{SystemId}/Oem/Firefly/TimeServiceSetting
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Request bodyNone
Success status code200 OK
Basic Auth Token ```bash title="Query the Full Time Service Configuration" curl --user ':' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc/Oem/Firefly/TimeServiceSetting' ``` ```bash title="Query the Full Time Service Configuration with a Token" curl --header 'X-Xsrf-Token: ' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc/Oem/Firefly/TimeServiceSetting' ```

Response Example

The following is a real 200 OK response returned by a test device.

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/Oem/Firefly/TimeServiceSetting",
"@odata.type": "#FireflyTimeService.v1_9_0.FireflyTimeServiceSetting",
"Id": "TimeServiceSetting",
"Name": "TimeServiceSetting",
"Actions": {},
"manual": false,
"ntp_config": {
"preferred": "ntp.aliyun.com",
"alternative": "",
"rtc": true,
"make_step": {
"threshold": "1",
"limit": "3"
},
"server_config": {
"port": "123",
"local_stratum": "10"
}
},
"time": "",
"time_zone": "GMT+08:00",
"chrony_config": {
"servers": [
{
"addr": "ntp.aliyun.com",
"iburst": true,
"minpoll": "6",
"maxpoll": "7",
"port": "123",
"nts": false,
"burst": false,
"trust": false
}
],
"log": {
"measurements": true,
"statistics": true,
"tracking": true,
"rtc": false,
"refclocks": false,
"tempcomp": false,
"rawmeasurements": false,
"selection": false
},
"makestep": {
"threshold": "1",
"limit": "3"
},
"allow": ["0.0.0.0/0"],
"deny": [],
"port": "123",
"binddevice": null,
"local": {
"distance": "",
"stratum": "10",
"orphan": false
},
"logdir": "var/lib/chrony/",
"driftfile": "/var/lib/chrony/chrony.drift",
"minsources": "",
"rtcsync": true,
"maxupdateskew": "",
"maxdistance": "",
"ntsdumpdir": "",
"ntsservercert": "",
"ntsserverkey": "",
"ntstrustedcerts": ""
}
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the full time service configuration resource.
@odata.typestringOData type of the time service configuration.
IdstringResource identifier.
NamestringResource name.
ActionsobjectOperation definitions provided directly by the current resource.
manualbooleanWhether a manually set time is used.
ntp_configobjectSimplified synchronization configuration of the time service.
ntp_config.preferredstringPreferred time server.
ntp_config.alternativestringAlternate time server.
ntp_config.rtcbooleanWhether to synchronize the hardware clock.
ntp_config.make_stepobjectTime stepping policy.
ntp_config.make_step.thresholdstringOffset threshold that allows the time to be corrected directly.
ntp_config.make_step.limitstringNumber of direct corrections allowed after startup.
ntp_config.server_configobjectLocal time server configuration.
ntp_config.server_config.portstringTime service port.
ntp_config.server_config.local_stratumstringLocal time source stratum.
timestringManual time value; may be empty when not in manual mode.
time_zonestringGMT time zone used by the time service, for example GMT+08:00. The standalone time zone resource may return the corresponding IANA name.
chrony_configobjectComplete Chrony configuration.
chrony_config.serversarrayList of upstream time servers.
chrony_config.servers[].addrstringTime server address.
chrony_config.servers[].iburstbooleanWhether to send synchronization requests quickly at startup.
chrony_config.servers[].minpollstringMinimum polling interval exponent.
chrony_config.servers[].maxpollstringMaximum polling interval exponent.
chrony_config.servers[].portstringTime server port.
chrony_config.servers[].ntsbooleanWhether Network Time Security is enabled.
chrony_config.servers[].burstbooleanWhether burst mode is enabled.
chrony_config.servers[].trustbooleanWhether this time source is trusted.
chrony_config.logobjectChrony logging category configuration.
chrony_config.log.measurementsbooleanWhether to log measurements.
chrony_config.log.statisticsbooleanWhether to log statistics.
chrony_config.log.trackingbooleanWhether to log tracking.
chrony_config.log.rtcbooleanWhether to log RTC messages.
chrony_config.log.refclocksbooleanWhether to log reference clocks.
chrony_config.log.tempcompbooleanWhether to log temperature compensation.
chrony_config.log.rawmeasurementsbooleanWhether to log raw measurements.
chrony_config.log.selectionbooleanWhether to log time source selection.
chrony_config.makestepobjectChrony time stepping policy.
chrony_config.makestep.thresholdstringTime step threshold.
chrony_config.makestep.limitstringLimit on the number of time steps.
chrony_config.allowarrayNetwork segments allowed to access the local time service.
chrony_config.denyarrayNetwork segments denied access to the local time service.
chrony_config.portstringLocal time service port.
chrony_config.binddevicestring[] | nullNetwork interfaces bound to Chrony.
chrony_config.localobjectLocal time source configuration.
chrony_config.local.distancestringLocal time source distance.
chrony_config.local.stratumstringLocal time source stratum.
chrony_config.local.orphanbooleanWhether orphan mode is enabled.
chrony_config.logdirstringChrony log directory.
chrony_config.driftfilestringClock drift data file.
chrony_config.minsourcesstringMinimum number of time sources required for synchronization.
chrony_config.rtcsyncbooleanWhether the system time is synchronized to the RTC.
chrony_config.maxupdateskewstringMaximum estimated skew for which updating the clock is allowed.
chrony_config.maxdistancestringMaximum root distance allowed for a time source.
chrony_config.ntsdumpdirstringDirectory where NTS data is saved.
chrony_config.ntsservercertstringPath of the NTS server certificate.
chrony_config.ntsserverkeystringPath of the NTS server private key.
chrony_config.ntstrustedcertsstringNTS trusted certificate configuration.

4.4 Setting the System Time

ItemContent
MethodPOST
ActionInfo/redfish/v1/Systems/{SystemId}/Oem/Firefly/DateTime/Actions/SetDateTimeActionInfo
Path/redfish/v1/Systems/{SystemId}/Oem/Firefly/DateTime/Actions/ComputerSystem.SetDateTime
Request fieldDateTime, string, required
Date formatYYYY-MM-DD HH:mm:ss
Basic Auth Token ```bash title="Set the System Time" curl --request POST \ --user ':' \ --header 'Content-Type: application/json' \ --data '{ "DateTime": "2026-08-04 18:00:00" }' \ '://:/redfish/v1/Systems/bmc/Oem/Firefly/DateTime/Actions/ComputerSystem.SetDateTime' ``` ```bash title="Set the System Time with a Token" curl --request POST \ --header 'X-Xsrf-Token: ' \ --header 'Content-Type: application/json' \ --data '{ "DateTime": "2026-08-04 18:00:00" }' \ '://:/redfish/v1/Systems/bmc/Oem/Firefly/DateTime/Actions/ComputerSystem.SetDateTime' ```

Response Example

200 OK
{
"@odata.type": "#Message.v1_1_1.Message",
"Timestamp": "1785836138",
"MessageId": "Base.1.11.0.Success",
"Message": "The request completed successfully.",
"MessageArgs": [],
"MessageSeverity": "OK",
"Severity": "",
"Oem": null,
"RelatedProperties": null,
"Resolution": "None"
}

Response Fields

FieldTypeDescription
@odata.typestringOData type of the Redfish message resource.
TimestampstringTimestamp recorded by the server when generating the response.
MessageIdstringMessage identifier; Base.1.11.0.Success on success.
MessagestringDescription of the request processing result.
MessageArgsarrayList of message formatting arguments; an empty array in this response.
MessageSeveritystringMessage severity; OK on success.
SeveritystringSeverity field kept for compatibility; an empty string in this response.
Oemobject | nullOEM extension message; null in this response.
RelatedPropertiesarray | nullProperty paths related to the message; null in this response.
ResolutionstringRecommended resolution; None on success.
Setting the system time affects log ordering, tokens, certificates, scheduled tasks, and cluster synchronization. After the POST returns a success message, query the system time immediately to confirm that the device time has been updated to the expected value.

4.5 Setting the Time Zone

ItemContent
MethodPOST
ActionInfo/redfish/v1/Systems/{SystemId}/Oem/Firefly/TimeZone/Actions/SetTimeZoneActionInfo
Path/redfish/v1/Systems/{SystemId}/Oem/Firefly/TimeZone/Actions/ComputerSystem.SetTimeZone
Request fieldTimeZone, string, required
Example valueEtc/GMT-8
Basic Auth Token ```bash title="Set the Time Zone" curl --request POST \ --user ':' \ --header 'Content-Type: application/json' \ --data '{ "TimeZone": "Etc/GMT-8" }' \ '://:/redfish/v1/Systems/bmc/Oem/Firefly/TimeZone/Actions/ComputerSystem.SetTimeZone' ``` ```bash title="Set the Time Zone with a Token" curl --request POST \ --header 'X-Xsrf-Token: ' \ --header 'Content-Type: application/json' \ --data '{ "TimeZone": "Etc/GMT-8" }' \ '://:/redfish/v1/Systems/bmc/Oem/Firefly/TimeZone/Actions/ComputerSystem.SetTimeZone' ```

Response Example

The following is the real response returned after writing the current time zone Etc/GMT-8 back unchanged:

200 OK
{
"@odata.type": "#Message.v1_1_1.Message",
"Timestamp": "1785836138",
"MessageId": "Base.1.11.0.Success",
"Message": "The request completed successfully.",
"MessageArgs": [],
"MessageSeverity": "OK",
"Severity": "",
"Oem": null,
"RelatedProperties": null,
"Resolution": "None"
}

Response Fields

FieldTypeDescription
@odata.typestringOData type of the Redfish message resource.
TimestampstringTimestamp recorded by the server when generating the response.
MessageIdstringMessage identifier; Base.1.11.0.Success on success.
MessagestringDescription of the request processing result.
MessageArgsarrayList of message formatting arguments; an empty array in this response.
MessageSeveritystringMessage severity; OK on success.
SeveritystringSeverity field kept for compatibility; an empty string in this response.
Oemobject | nullOEM extension message; null in this response.
RelatedPropertiesarray | nullProperty paths related to the message; null in this response.
ResolutionstringRecommended resolution; None on success.

4.6 Configuring the Time Service

ItemContent
MethodPOST
ActionInfo/redfish/v1/Systems/{SystemId}/Oem/Firefly/TimeService/Actions/ConfigureTimeServiceActionInfo
Path/redfish/v1/Systems/{SystemId}/Oem/Firefly/TimeService/Actions/ConfigueTimeService
Required fieldsmanual, time_zone
Request FieldTypeRequiredDescription
manualbooleanYesWhether a manual time is used.
timestringNoManual time; used when manual=true.
time_zonestringYesGMT time zone, for example GMT+08:00.
ntp_configobjectNoTime synchronization configuration.
ntp_config.preferredstringNoPreferred time server.
ntp_config.alternativestringNoAlternate time server.
ntp_config.rtcbooleanNoWhether to synchronize the hardware clock.
ntp_config.make_stepobjectNoTime stepping policy.
ntp_config.make_step.thresholdstringNoTime step threshold.
ntp_config.make_step.limitstringNoLimit on the number of time steps.
ntp_config.server_configobjectNoLocal time service configuration.
ntp_config.server_config.portstringNoTime service port.
ntp_config.server_config.local_stratumstringNoLocal time source stratum.
Basic Auth Token ```bash title="Configure the Time Service" curl --request POST \ --user ':' \ --header 'Content-Type: application/json' \ --data '{ "manual": false, "ntp_config": { "preferred": "ntp.aliyun.com", "alternative": "", "rtc": true, "make_step": { "threshold": "1", "limit": "3" }, "server_config": { "port": "123", "local_stratum": "10" } }, "time": "", "time_zone": "GMT+08:00" }' \ '://:/redfish/v1/Systems/bmc/Oem/Firefly/TimeService/Actions/ConfigueTimeService' ``` ```bash title="Configure the Time Service with a Token" curl --request POST \ --header 'X-Xsrf-Token: ' \ --header 'Content-Type: application/json' \ --data '{ "manual": false, "ntp_config": { "preferred": "ntp.aliyun.com", "alternative": "", "rtc": true, "make_step": { "threshold": "1", "limit": "3" }, "server_config": { "port": "123", "local_stratum": "10" } }, "time": "", "time_zone": "GMT+08:00" }' \ '://:/redfish/v1/Systems/bmc/Oem/Firefly/TimeService/Actions/ConfigueTimeService' ```

Response Example

The following is the real response returned by the device after writing the current time service configuration back unchanged.

200 OK
{
"@odata.type": "#Message.v1_1_1.Message",
"Timestamp": "1785836138",
"MessageId": "Base.1.11.0.Success",
"Message": "The request completed successfully.",
"MessageArgs": [],
"MessageSeverity": "OK",
"Severity": "",
"Oem": null,
"RelatedProperties": null,
"Resolution": "None"
}

Response Fields

FieldTypeDescription
@odata.typestringOData type of the Redfish message resource.
TimestampstringTimestamp recorded by the server when generating the response.
MessageIdstringMessage identifier; Base.1.11.0.Success on success.
MessagestringDescription of the request processing result.
MessageArgsarrayList of message formatting arguments; an empty array in this response.
MessageSeveritystringMessage severity; OK on success.
SeveritystringSeverity field kept for compatibility; an empty string in this response.
Oemobject | nullOEM extension message; null in this response.
RelatedPropertiesarray | nullProperty paths related to the message; null in this response.
ResolutionstringRecommended resolution; None on success.
After the POST returns `200 OK`, a follow-up query confirms that the preferred time source, RTC, stepping parameters, port, and local stratum are all the same as before the operation; `time_zone` in the time service configuration is `GMT+08:00`, and the time zone resource correspondingly returns `Etc/GMT-8`. The system time keeps incrementing normally. You should still perform a GET to verify after a successful response instead of checking only `MessageId`.

4.7 Querying the Set System Time ActionInfo

ItemContent
MethodGET
Path/redfish/v1/Systems/bmc/Oem/Firefly/DateTime/Actions/SetDateTimeActionInfo
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Actual status code200 OK
Basic Auth Token ```bash title="Query the Set System Time ActionInfo" curl --user ":" \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Oem/Firefly/DateTime/Actions/SetDateTimeActionInfo" ``` ```bash title="Query the Set System Time ActionInfo with a Token" curl --header "X-Xsrf-Token: " \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Oem/Firefly/DateTime/Actions/SetDateTimeActionInfo" ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/Oem/Firefly/DateTime/Actions/SetDateTimeActionInfo",
"@odata.type": "#ActionInfo.v1_1_2.ActionInfo",
"Id": "ActionInfo",
"Name": "Action Info",
"Parameters": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "DateTime",
"Required": true
}
]
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the ActionInfo resource.
@odata.typestringOData type of the ActionInfo or message resource.
IdstringActionInfo resource identifier.
NamestringActionInfo resource name.
ParametersarrayList of operation parameter definitions.
Parameters[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].DataTypestringParameter data type.
Parameters[].NamestringParameter name.
Parameters[].RequiredbooleanWhether the parameter is required.

4.8 Querying the Set Time Zone ActionInfo

ItemContent
MethodGET
Path/redfish/v1/Systems/bmc/Oem/Firefly/TimeZone/Actions/SetTimeZoneActionInfo
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Actual status code200 OK
Basic Auth Token ```bash title="Query the Set Time Zone ActionInfo" curl --user ":" \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Oem/Firefly/TimeZone/Actions/SetTimeZoneActionInfo" ``` ```bash title="Query the Set Time Zone ActionInfo with a Token" curl --header "X-Xsrf-Token: " \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Oem/Firefly/TimeZone/Actions/SetTimeZoneActionInfo" ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/Oem/Firefly/TimeZone/Actions/SetTimeZoneActionInfo",
"@odata.type": "#ActionInfo.v1_1_2.ActionInfo",
"Id": "ActionInfo",
"Name": "Action Info",
"Parameters": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "TimeZone",
"Required": true
}
]
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the ActionInfo resource.
@odata.typestringOData type of the ActionInfo or message resource.
IdstringActionInfo resource identifier.
NamestringActionInfo resource name.
ParametersarrayList of operation parameter definitions.
Parameters[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].DataTypestringParameter data type.
Parameters[].NamestringParameter name.
Parameters[].RequiredbooleanWhether the parameter is required.

4.9 Querying the Configure Time Service ActionInfo

ItemContent
MethodGET
Path/redfish/v1/Systems/bmc/Oem/Firefly/TimeService/Actions/ConfigureTimeServiceActionInfo
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Actual status code200 OK
Basic Auth Token ```bash title="Query the Configure Time Service ActionInfo" curl --user ":" \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Oem/Firefly/TimeService/Actions/ConfigureTimeServiceActionInfo" ``` ```bash title="Query the Configure Time Service ActionInfo with a Token" curl --header "X-Xsrf-Token: " \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Oem/Firefly/TimeService/Actions/ConfigureTimeServiceActionInfo" ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/Oem/Firefly/TimeService/Actions/ConfigureTimeServiceActionInfo",
"@odata.type": "#ActionInfo.v1_1_2.ActionInfo",
"Id": "ActionInfo",
"Name": "Action Info",
"Parameters": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Boolean",
"Name": "manual",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "preferred",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "alternative",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Boolean",
"Name": "rtc",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "threshold",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "limit",
"Required": false
}
],
"DataType": "Object",
"Name": "make_step",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "port",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "local_stratum",
"Required": false
}
],
"DataType": "Object",
"Name": "server_config",
"Required": false
}
],
"DataType": "Object",
"Name": "ntp_config",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "time",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
"GMT+03:00",
"GMT+06:00",
"GMT+11:00",
"GMT+13:00",
"GMT+14:00",
"GMT-02:00",
"GMT-03:00",
"GMT-12:00",
"GMT+02:00",
"GMT+08:00",
"GMT-01:00",
"GMT-04:00",
"GMT-05:00",
"GMT-06:00",
"GMT-07:00",
"GMT-10:00",
"GMT+01:00",
"GMT+04:00",
"GMT+05:00",
"GMT+07:00",
"GMT+09:00",
"GMT-11:00",
"GMT+00:00",
"GMT+10:00",
"GMT+12:00",
"GMT-08:00",
"GMT-09:00"
],
"DataType": "String",
"Name": "time_zone",
"Required": true
}
]
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the ActionInfo resource.
@odata.typestringOData type of the ActionInfo or message resource.
IdstringActionInfo resource identifier.
NamestringActionInfo resource name.
ParametersarrayList of operation parameter definitions.
Parameters[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].DataTypestringParameter data type.
Parameters[].NamestringParameter name.
Parameters[].RequiredbooleanWhether the parameter is required.
Parameters[].AllowableValuesarrayAllowed values and structure definitions for a parameter or sub-parameter.
Parameters[].AllowableValues[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowableValues[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].AllowableValues[].DataTypestringParameter data type.
Parameters[].AllowableValues[].NamestringParameter name.
Parameters[].AllowableValues[].RequiredbooleanWhether the parameter is required.
Parameters[].AllowableValues[].AllowableValuesarrayAllowed values and structure definitions for a parameter or sub-parameter.
Parameters[].AllowableValues[].AllowableValues[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowableValues[].AllowableValues[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].AllowableValues[].AllowableValues[].DataTypestringParameter data type.
Parameters[].AllowableValues[].AllowableValues[].NamestringParameter name.
Parameters[].AllowableValues[].AllowableValues[].RequiredbooleanWhether the parameter is required.

5 Disk Management Resources

5.1 Querying the Block Device Storage Controller

ItemContent
MethodGET
Path/redfish/v1/Systems/{SystemId}/Storages/BlockDevice
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Success status code200 OK
Basic Auth Token ```bash title="Query the Block Device Storage Controller" curl --user ':' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc/Storages/BlockDevice' ``` ```bash title="Query the Block Device Storage Controller with a Token" curl --header 'X-Xsrf-Token: ' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc/Storages/BlockDevice' ```

Response Example

200 OK · Excerpt of a Real Response
{
"@odata.id": "/redfish/v1/Systems/bmc/Storages/BlockDevice",
"@odata.type": "#Storage.v1_4_0.Storage",
"Oem": {},
"StorageControllers@odata.count": 1,
"StorageControllers": [
{
"@odata.id": "/redfish/v1/Systems/bmc/Storages/BlockDevice#/StorageControllers/0",
"@odata.type": "#StorageController.v1_16_0.StorageController",
"Id": "lsblk",
"Description": "System block Tool",
"Manufacturer": "Linux"
}
],
"Volumes": {
"@odata.id": "/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes"
}
}

Response Fields

FieldTypeDescription
@odata.idstringAccess path of the block device storage resource.
@odata.typestringOData type of the storage resource.
OemobjectOEM extension information of the storage resource.
StorageControllers@odata.countnumberNumber of storage controllers.
StorageControllersarrayList of storage controllers.
StorageControllers[].@odata.idstringResource path of the storage controller.
StorageControllers[].@odata.typestringOData type of the storage controller.
StorageControllers[].IdstringStorage controller identifier.
StorageControllers[].DescriptionstringStorage controller description.
StorageControllers[].ManufacturerstringStorage controller implementer.
VolumesobjectEntry point of block device volume resources.
Volumes.@odata.idstringPath of the block device volume resource collection.

5.2 Querying the Block Device Volume Collection

ItemContent
MethodGET
Path/redfish/v1/Systems/{SystemId}/Storages/BlockDevice/Volumes
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Success status code200 OK
Basic Auth Token ```bash title="Query the Block Device Volume Collection" curl --user ':' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes' ``` ```bash title="Query the Block Device Volume Collection with a Token" curl --header 'X-Xsrf-Token: ' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes' ```

Response Example

200 OK · Excerpt of a Real Response
{
"@odata.id": "/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes",
"@odata.type": "#VolumeCollection.VolumeCollection",
"Name": "lsblk Volume Collection",
"Members@odata.count": 1,
"Members": [
{
"@odata.id": "/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0"
}
],
"Oem": {
"Firefly": {
"Tree": {
"blockdevices": [
{
"name": "mmcblk0",
"path": "/dev/mmcblk0",
"size": 62545461248,
"type": "disk",
"pttype": "gpt",
"StorageType": "MMC",
"OemEnableCreatePartition": false,
"OemEnableDeletePartition": false,
"children": [
{
"name": "mmcblk0p3",
"fstype": "ext4",
"mountpoint": "/boot",
"size": 268435456
},
{
"name": "mmcblk0p6",
"fstype": "ext4",
"mountpoint": "/",
"size": 7516192768
},
{
"name": "mmcblk0p7",
"fstype": "ext4",
"mountpoint": "/userdata",
"size": 53632548352
}
]
}
]
}
}
}
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the block device volume collection.
@odata.typestringOData type of the volume collection.
NamestringName of the volume collection.
Members@odata.countnumberNumber of root block devices.
MembersarrayList of root block device members.
Members[].@odata.idstringAccess path of a specific block device.
OemobjectOEM extension information.
Oem.FireflyobjectFirefly storage extension information.
Oem.Firefly.Treeobjectlsblk device tree.
Oem.Firefly.Tree.blockdevicesarrayList of root block devices.
Oem.Firefly.Tree.blockdevices[].namestringLinux block device name.
Oem.Firefly.Tree.blockdevices[].pathstringDevice node path.
Oem.Firefly.Tree.blockdevices[].sizenumberDevice capacity in bytes.
Oem.Firefly.Tree.blockdevices[].typestringDevice type.
Oem.Firefly.Tree.blockdevices[].pttypestringPartition table type.
Oem.Firefly.Tree.blockdevices[].StorageTypestringStorage media type.
Oem.Firefly.Tree.blockdevices[].OemEnableCreatePartitionbooleanWhether creating a new partition is allowed.
Oem.Firefly.Tree.blockdevices[].OemEnableDeletePartitionbooleanWhether deleting partitions is allowed.
Oem.Firefly.Tree.blockdevices[].childrenarrayList of child partitions.
Oem.Firefly.Tree.blockdevices[].children[].namestringPartition name.
Oem.Firefly.Tree.blockdevices[].children[].fstypestringFile system type.
Oem.Firefly.Tree.blockdevices[].children[].mountpointstringCurrent mount point.
Oem.Firefly.Tree.blockdevices[].children[].sizenumberPartition capacity in bytes.

5.3 Subscribing to Block Device Status

ItemContent
ProtocolWebSocket
Handshake methodGET + Upgrade: websocket
Path/redfish/v1/Systems/{SystemId}/Storages/BlockDevice/Volumes/ws
AuthenticationLogin privilege
WebSocket URL
<ws-protocol>://<device-ip>:<port>/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/ws

After the connection is established, the server first sends the complete block device tree with ActionType=Action_GetInfo; it then subscribes to the storage Redis topic and continuously pushes device or task status changes.

The current test entry point goes through a Polipo HTTP proxy. A plain GET returns `502 Server dropped connection`, and a manual Upgrade request returns `503 Couldn't parse client headers`, which shows that this proxy cannot forward the WebSocket handshake. The server-side routing and Upgrade implementation exist, but the connection must be verified after bypassing this HTTP proxy or using a reverse proxy that supports WebSocket.

5.4 Querying a Specific Block Device

ItemContent
MethodGET
Path/redfish/v1/Systems/{SystemId}/Storages/BlockDevice/Volumes/{BlockDeviceId}
Path parameterBlockDeviceId: obtained from the block device volume collection; the example below uses mmcblk0
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Success status code200 OK
Basic Auth Token ```bash title="Query mmcblk0" curl --user ':' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0' ``` ```bash title="Query mmcblk0 with a Token" curl --header 'X-Xsrf-Token: ' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0' ```

Response Example

200 OK · Excerpt of a Real Response
{
"@odata.id": "/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0",
"@odata.type": "#Volume.v1_8_0.Volume",
"CapacityBytes": "62545461248",
"RAIDType": "None",
"VolumeType": "RawDevice",
"Oem": {
"Firefly": {
"Detail": {
"name": "mmcblk0",
"path": "/dev/mmcblk0",
"serial": "0x9d722704",
"size": 62545461248,
"type": "disk",
"pttype": "gpt",
"StorageType": "MMC",
"OemEnableCreatePartition": false,
"OemEnableDeletePartition": false,
"OemEnableMakeFS": false,
"OemEnableMount": false,
"OemEnableUnmount": false,
"OemBlockBusy": false
}
}
},
"Links": {
"Drives@odata.count": 1,
"Drives": [
{
"@odata.id": "/redfish/v1/Chassis/mmcblk0/Drives/"
}
]
}
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the specified block device resource.
@odata.typestringOData type of the block device volume.
CapacityBytesstringDevice capacity in bytes.
RAIDTypestringRAID type.
VolumeTypestringVolume type.
OemobjectOEM extension information.
Oem.FireflyobjectFirefly storage extension information.
Oem.Firefly.DetailobjectDetailed block device information.
Oem.Firefly.Detail.namestringDevice name.
Oem.Firefly.Detail.pathstringLinux device node path.
Oem.Firefly.Detail.serialstringDevice serial number.
Oem.Firefly.Detail.sizenumberDevice capacity in bytes.
Oem.Firefly.Detail.typestringDevice type.
Oem.Firefly.Detail.pttypestringPartition table type.
Oem.Firefly.Detail.StorageTypestringStorage media type.
Oem.Firefly.Detail.OemEnableCreatePartitionbooleanWhether creating partitions is allowed.
Oem.Firefly.Detail.OemEnableDeletePartitionbooleanWhether deleting partitions is allowed.
Oem.Firefly.Detail.OemEnableMakeFSbooleanWhether creating a file system is allowed.
Oem.Firefly.Detail.OemEnableMountbooleanWhether mounting is allowed.
Oem.Firefly.Detail.OemEnableUnmountbooleanWhether unmounting is allowed.
Oem.Firefly.Detail.OemBlockBusybooleanWhether the device is currently occupied by a task.
LinksobjectLinked resources.
Links.Drives@odata.countnumberNumber of associated drives.
Links.DrivesarrayList of associated drives.
Links.Drives[].@odata.idstringPath of an associated drive.
The current `mmcblk0` is the running system disk, and the capability flags for creating/deleting partitions, formatting, mounting, and unmounting are all `false`. Clients must rely on the `OemEnable*` fields in the detail resource to decide whether to display or invoke the corresponding operations.

5.5 Querying SMART Information

This API uses POST, but it only reads device health information and does not modify partitions or the file system.

ItemContent
MethodPOST
ActionInfo/redfish/v1/Systems/{SystemId}/Storages/BlockDevice/Volumes/{BlockDeviceId}/Actions/Oem/Firefly/SmartInfoActionInfo
Path/redfish/v1/Systems/{SystemId}/Storages/BlockDevice/Volumes/{BlockDeviceId}/Actions/Oem/Firefly/SmartInfo
Request bodyEmpty JSON object {}
Success status code200 OK
Basic Auth Token ```bash title="Query the SMART Information of mmcblk0" curl --request POST \ --user ':' \ --header 'Content-Type: application/json' \ --data '{}' \ '://:/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0/Actions/Oem/Firefly/SmartInfo' ``` ```bash title="Query the SMART Information of mmcblk0 with a Token" curl --request POST \ --header 'X-Xsrf-Token: ' \ --header 'Content-Type: application/json' \ --data '{}' \ '://:/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0/Actions/Oem/Firefly/SmartInfo' ```

Response Example

The following is the standard Redfish Message response returned when this POST succeeds. The success message only indicates that the request has been processed; it contains no SMART metric fields.

200 OK
{
"@odata.type": "#Message.v1_1_1.Message",
"Timestamp": "1785836138",
"MessageId": "Base.1.11.0.Success",
"Message": "The request completed successfully.",
"MessageArgs": [],
"MessageSeverity": "OK",
"Severity": "",
"Oem": null,
"RelatedProperties": null,
"Resolution": "None"
}

Response Fields

FieldTypeDescription
@odata.typestringOData type of the Redfish message resource.
TimestampstringTimestamp recorded by the server when generating the response.
MessageIdstringMessage identifier; Base.1.11.0.Success on success.
MessagestringDescription of the request processing result.
MessageArgsarrayList of message formatting arguments; an empty array in this response.
MessageSeveritystringMessage severity; OK on success.
SeveritystringSeverity field kept for compatibility; an empty string in this response.
Oemobject | nullOEM extension message; null in this response.
RelatedPropertiesarray | nullProperty paths related to the message; null in this response.
ResolutionstringRecommended resolution; None on success.

5.6 Creating a Partition

ItemContent
MethodPOST
ActionInfo/redfish/v1/Systems/{SystemId}/Storages/BlockDevice/Volumes/{BlockDeviceId}/{FreeSpaceId}/Actions/Oem/Firefly/NewPartitionActionInfo
Path/redfish/v1/Systems/{SystemId}/Storages/BlockDevice/Volumes/{BlockDeviceId}/{FreeSpaceId}/Actions/Oem/Firefly/NewPartition
PrerequisitesA free area with FreeSpace=true exists in the device tree, and OemEnableCreatePartition=true
Request FieldTypeRequiredDescription
StartOffsetMBnumberYesOffset relative to the start of the free area, in MiB.
SizeMBnumberYesCapacity of the new partition in MiB.
AlignmentBytenumberNoAlignment bytes: 512, 1024, 2048, 4096, or 8192.
PartlabelstringNoGPT partition label.
LabelstringNoFile system volume label.
FsTypestringNoext4, exfat, ntfs, ext2, ext3, fat32, or <None>.
Request Body Example
{
"StartOffsetMB": 0,
"SizeMB": 1024,
"AlignmentByte": 4096,
"Partlabel": "data",
"Label": "data",
"FsType": "ext4"
}

Response Example

200 OK
{
"@odata.type": "#Message.v1_1_1.Message",
"Timestamp": "1785836138",
"MessageId": "Base.1.11.0.Success",
"Message": "The request completed successfully.",
"MessageArgs": [],
"MessageSeverity": "OK",
"Severity": "",
"Oem": null,
"RelatedProperties": null,
"Resolution": "None"
}

Response Fields

FieldTypeDescription
@odata.typestringOData type of the Redfish message resource.
TimestampstringTimestamp recorded by the server when generating the response.
MessageIdstringMessage identifier; Base.1.11.0.Success on success.
MessagestringDescription of the request processing result.
MessageArgsarrayList of message formatting arguments; an empty array in this response.
MessageSeveritystringMessage severity; OK on success.
SeveritystringSeverity field kept for compatibility; an empty string in this response.
Oemobject | nullOEM extension message; null in this response.
RelatedPropertiesarray | nullProperty paths related to the message; null in this response.
ResolutionstringRecommended resolution; None on success.

5.7 Writing a Volume Label

ItemContent
MethodPOST
ActionInfo/redfish/v1/Systems/{SystemId}/Storages/BlockDevice/Volumes/{BlockDeviceId}/Actions/Oem/Firefly/WriteLabelActionInfo
Path/redfish/v1/Systems/{SystemId}/Storages/BlockDevice/Volumes/{BlockDeviceId}/Actions/Oem/Firefly/WriteLabel
Request fieldLabel, string, required
PrerequisitesOemEnableCreteLabel=true, and the target is not a system partition in use
Request Body Example
{
"Label": "data"
}

Response Example

200 OK
{
"@odata.type": "#Message.v1_1_1.Message",
"Timestamp": "1785836138",
"MessageId": "Base.1.11.0.Success",
"Message": "The request completed successfully.",
"MessageArgs": [],
"MessageSeverity": "OK",
"Severity": "",
"Oem": null,
"RelatedProperties": null,
"Resolution": "None"
}

Response Fields

FieldTypeDescription
@odata.typestringOData type of the Redfish message resource.
TimestampstringTimestamp recorded by the server when generating the response.
MessageIdstringMessage identifier; Base.1.11.0.Success on success.
MessagestringDescription of the request processing result.
MessageArgsarrayList of message formatting arguments; an empty array in this response.
MessageSeveritystringMessage severity; OK on success.
SeveritystringSeverity field kept for compatibility; an empty string in this response.
Oemobject | nullOEM extension message; null in this response.
RelatedPropertiesarray | nullProperty paths related to the message; null in this response.
ResolutionstringRecommended resolution; None on success.

5.8 Mounting a Block Device

ItemContent
MethodPOST
ActionInfo/redfish/v1/Systems/{SystemId}/Storages/BlockDevice/Volumes/{BlockDeviceId}/Actions/Oem/Firefly/MountActionInfo
Path/redfish/v1/Systems/{SystemId}/Storages/BlockDevice/Volumes/{BlockDeviceId}/Actions/Oem/Firefly/Mount
PrerequisitesOemEnableMount=true
Request FieldTypeRequiredDescription
MountPathstringYesMount path that is absolute and not the root directory.
MountTypestringYesforever for a persistent mount, tmp for a temporary mount.
RwModelstringNorw or ro.
Request Body Example
{
"MountPath": "/mnt/data",
"MountType": "tmp",
"RwModel": "rw"
}

Response Example

200 OK
{
"@odata.type": "#Message.v1_1_1.Message",
"Timestamp": "1785836138",
"MessageId": "Base.1.11.0.Success",
"Message": "The request completed successfully.",
"MessageArgs": [],
"MessageSeverity": "OK",
"Severity": "",
"Oem": null,
"RelatedProperties": null,
"Resolution": "None"
}

Response Fields

FieldTypeDescription
@odata.typestringOData type of the Redfish message resource.
TimestampstringTimestamp recorded by the server when generating the response.
MessageIdstringMessage identifier; Base.1.11.0.Success on success.
MessagestringDescription of the request processing result.
MessageArgsarrayList of message formatting arguments; an empty array in this response.
MessageSeveritystringMessage severity; OK on success.
SeveritystringSeverity field kept for compatibility; an empty string in this response.
Oemobject | nullOEM extension message; null in this response.
RelatedPropertiesarray | nullProperty paths related to the message; null in this response.
ResolutionstringRecommended resolution; None on success.

5.9 Unmounting a Block Device

ItemContent
MethodPOST
ActionInfo/redfish/v1/Systems/{SystemId}/Storages/BlockDevice/Volumes/{BlockDeviceId}/Actions/Oem/Firefly/UMountActionInfo
Path/redfish/v1/Systems/{SystemId}/Storages/BlockDevice/Volumes/{BlockDeviceId}/Actions/Oem/Firefly/UMount
Request fieldMountPath, string, required
PrerequisitesOemEnableUnmount=true
Request Body Example
{
"MountPath": "/mnt/data"
}

Response Example

200 OK
{
"@odata.type": "#Message.v1_1_1.Message",
"Timestamp": "1785836138",
"MessageId": "Base.1.11.0.Success",
"Message": "The request completed successfully.",
"MessageArgs": [],
"MessageSeverity": "OK",
"Severity": "",
"Oem": null,
"RelatedProperties": null,
"Resolution": "None"
}

Response Fields

FieldTypeDescription
@odata.typestringOData type of the Redfish message resource.
TimestampstringTimestamp recorded by the server when generating the response.
MessageIdstringMessage identifier; Base.1.11.0.Success on success.
MessagestringDescription of the request processing result.
MessageArgsarrayList of message formatting arguments; an empty array in this response.
MessageSeveritystringMessage severity; OK on success.
SeveritystringSeverity field kept for compatibility; an empty string in this response.
Oemobject | nullOEM extension message; null in this response.
RelatedPropertiesarray | nullProperty paths related to the message; null in this response.
ResolutionstringRecommended resolution; None on success.

5.10 Creating a File System

ItemContent
MethodPOST
ActionInfo/redfish/v1/Systems/{SystemId}/Storages/BlockDevice/Volumes/{BlockDeviceId}/Actions/Oem/Firefly/MakeFileSystemActionInfo
Path/redfish/v1/Systems/{SystemId}/Storages/BlockDevice/Volumes/{BlockDeviceId}/Actions/Oem/Firefly/MakeFileSystem
PrerequisitesOemEnableMakeFS=true
Request FieldTypeRequiredDescription
FsTypestringYesext4, exfat, ntfs, ext2, ext3, or fat32.
LabelstringNoFile system volume label.
Request Body Example
{
"FsType": "ext4",
"Label": "data"
}

Response Example

200 OK
{
"@odata.type": "#Message.v1_1_1.Message",
"Timestamp": "1785836138",
"MessageId": "Base.1.11.0.Success",
"Message": "The request completed successfully.",
"MessageArgs": [],
"MessageSeverity": "OK",
"Severity": "",
"Oem": null,
"RelatedProperties": null,
"Resolution": "None"
}

Response Fields

FieldTypeDescription
@odata.typestringOData type of the Redfish message resource.
TimestampstringTimestamp recorded by the server when generating the response.
MessageIdstringMessage identifier; Base.1.11.0.Success on success.
MessagestringDescription of the request processing result.
MessageArgsarrayList of message formatting arguments; an empty array in this response.
MessageSeveritystringMessage severity; OK on success.
SeveritystringSeverity field kept for compatibility; an empty string in this response.
Oemobject | nullOEM extension message; null in this response.
RelatedPropertiesarray | nullProperty paths related to the message; null in this response.
ResolutionstringRecommended resolution; None on success.

5.11 Checking or Repairing a Block Device

ItemContent
MethodPOST
ActionInfo/redfish/v1/Systems/{SystemId}/Storages/BlockDevice/Volumes/{BlockDeviceId}/Actions/Oem/Firefly/CheckRepairActionInfo
Path/redfish/v1/Systems/{SystemId}/Storages/BlockDevice/Volumes/{BlockDeviceId}/Actions/Oem/Firefly/CheckRepair
Request fieldActionType, string, required

ActionType allowed values:

  • Action_CheckFS: check the file system.
  • Action_CheckFSAutoRepair: check the file system and repair it automatically.
  • Action_CheckSector: check sectors.
Request Body Example
{
"ActionType": "Action_CheckFS"
}

Response Example

200 OK
{
"@odata.type": "#Message.v1_1_1.Message",
"Timestamp": "1785836138",
"MessageId": "Base.1.11.0.Success",
"Message": "The request completed successfully.",
"MessageArgs": [],
"MessageSeverity": "OK",
"Severity": "",
"Oem": null,
"RelatedProperties": null,
"Resolution": "None"
}

Response Fields

FieldTypeDescription
@odata.typestringOData type of the Redfish message resource.
TimestampstringTimestamp recorded by the server when generating the response.
MessageIdstringMessage identifier; Base.1.11.0.Success on success.
MessagestringDescription of the request processing result.
MessageArgsarrayList of message formatting arguments; an empty array in this response.
MessageSeveritystringMessage severity; OK on success.
SeveritystringSeverity field kept for compatibility; an empty string in this response.
Oemobject | nullOEM extension message; null in this response.
RelatedPropertiesarray | nullProperty paths related to the message; null in this response.
ResolutionstringRecommended resolution; None on success.

5.12 Canceling a Storage Task

ItemContent
MethodPOST
ActionInfo/redfish/v1/Systems/{SystemId}/Storages/BlockDevice/Volumes/{BlockDeviceId}/Actions/Oem/Firefly/TaskListActionInfo
Path/redfish/v1/Systems/{SystemId}/Storages/BlockDevice/Volumes/{BlockDeviceId}/Actions/Oem/Firefly/TaskList
ActionTypeAction_CheckFS, Action_CheckFSAutoRepair, Action_CheckSector, or Action_Mkfs
ModelOnly Cancel is allowed
Request Body Example
{
"ActionType": "Action_CheckFS",
"Model": "Cancel"
}

Response Example

200 OK
{
"@odata.type": "#Message.v1_1_1.Message",
"Timestamp": "1785836138",
"MessageId": "Base.1.11.0.Success",
"Message": "The request completed successfully.",
"MessageArgs": [],
"MessageSeverity": "OK",
"Severity": "",
"Oem": null,
"RelatedProperties": null,
"Resolution": "None"
}

Response Fields

FieldTypeDescription
@odata.typestringOData type of the Redfish message resource.
TimestampstringTimestamp recorded by the server when generating the response.
MessageIdstringMessage identifier; Base.1.11.0.Success on success.
MessagestringDescription of the request processing result.
MessageArgsarrayList of message formatting arguments; an empty array in this response.
MessageSeveritystringMessage severity; OK on success.
SeveritystringSeverity field kept for compatibility; an empty string in this response.
Oemobject | nullOEM extension message; null in this response.
RelatedPropertiesarray | nullProperty paths related to the message; null in this response.
ResolutionstringRecommended resolution; None on success.

5.13 Deleting a Partition

ItemContent
MethodDELETE
Path/redfish/v1/Systems/{SystemId}/Storages/BlockDevice/Volumes/{BlockDeviceId}/{PartitionId}
Request bodyNone
PrerequisitesOemEnableDeletePartition=true, and the target partition is not mounted and belongs to neither the system nor a RAID
Deleting a partition modifies the partition table and makes the data on the partition inaccessible. The deletion capability of the current `mmcblk0` is `false`, so no DELETE was performed.

5.14 Querying the Software RAID Storage Controller

ItemContent
MethodGET
Path/redfish/v1/Systems/{SystemId}/Storages/Mdraid
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Success status code200 OK
Basic Auth Token ```bash title="Query the Software RAID Storage Controller" curl --user ':' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc/Storages/Mdraid' ``` ```bash title="Query the Software RAID Storage Controller with a Token" curl --header 'X-Xsrf-Token: ' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc/Storages/Mdraid' ```

Response Example

200 OK · Excerpt of a Real Response
{
"@odata.id": "/redfish/v1/Systems/bmc/Storages/Mdraid",
"@odata.type": "#Storage.v1_4_0.Storage",
"StorageControllers@odata.count": 1,
"StorageControllers": [
{
"Id": "mdadm",
"Description": "SoftRaid Tool in Linux",
"Manufacturer": "RedHat",
"Oem": {
"Firefly": {
"FreeResource": {
"Mdname": "",
"Levels": ["Linear", "Raid0", "Raid1", "Raid4", "Raid5", "Raid6", "Raid10"],
"Chunks": ["64K", "128K", "256K", "512K"],
"Layouts": ["left-symmetric", "far", "offset"],
"Blocks": []
},
"RiskInfo": null
}
}
}
],
"Volumes": {}
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the software RAID controller resource.
@odata.typestringOData type of the storage resource.
StorageControllers@odata.countnumberNumber of software RAID controllers.
StorageControllersarrayList of controllers.
StorageControllers[].IdstringController identifier.
StorageControllers[].DescriptionstringController description.
StorageControllers[].ManufacturerstringController implementer.
StorageControllers[].OemobjectController OEM information.
StorageControllers[].Oem.FireflyobjectFirefly RAID information.
StorageControllers[].Oem.Firefly.FreeResourceobjectResources available for creating a RAID.
StorageControllers[].Oem.Firefly.FreeResource.MdnamestringSuggested array device name.
StorageControllers[].Oem.Firefly.FreeResource.LevelsarraySupported RAID levels.
StorageControllers[].Oem.Firefly.FreeResource.ChunksarraySupported stripe chunk sizes.
StorageControllers[].Oem.Firefly.FreeResource.LayoutsarraySupported layouts.
StorageControllers[].Oem.Firefly.FreeResource.BlocksarrayBlock devices that can join a RAID.
StorageControllers[].Oem.Firefly.RiskInfoobject | nullResult of the most recent risk assessment.
VolumesobjectEntry point of RAID volumes.

5.15 Querying the Software RAID Volume Collection

ItemContent
MethodGET
Path/redfish/v1/Systems/{SystemId}/Storages/Mdraid/Volumes
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Success status code200 OK
Basic Auth Token ```bash title="Query the Software RAID Volume Collection" curl --user ':' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes' ``` ```bash title="Query the Software RAID Volume Collection with a Token" curl --header 'X-Xsrf-Token: ' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes' ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes",
"@odata.type": "#VolumeCollection.VolumeCollection",
"Name": "Soft RaidArray Volume Collection",
"Members@odata.count": 0,
"Members": [],
"Oem": {
"Firefly": {
"All": {
"Raidlist": [],
"Mdadmconf": null
}
}
}
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the software RAID volume collection.
@odata.typestringOData type of the volume collection.
NamestringName of the volume collection.
Members@odata.countnumberNumber of RAID arrays.
MembersarrayList of RAID array members.
OemobjectOEM extension information.
Oem.FireflyobjectFirefly RAID extension information.
Oem.Firefly.AllobjectAll RAID data.
Oem.Firefly.All.RaidlistarrayList of RAID arrays recognized by the backend.
Oem.Firefly.All.Mdadmconfobject | nullmdadm configuration content.

5.16 Creating a Software RAID Array

ItemContent
MethodPOST
ActionInfo/redfish/v1/Systems/{SystemId}/Storages/Mdraid/Actions/Oem/Firefly/CreateRaidArrayActionInfo
Path/redfish/v1/Systems/{SystemId}/Storages/Mdraid/Actions/Oem/Firefly/CreateRaidArray
Request FieldTypeRequiredDescription
DevNamestringYesArray device path or device name.
MdNamestringYesRAID array name.
LevelstringYesLinear, Raid0, Raid1, Raid4, Raid5, Raid6, or Raid10.
ChunkstringNo64K, 128K, 256K, or 512K.
MetadatastringNo0.90, 1.0, 1.1, or 1.2.
Blocksstring[]YesBlock device paths that participate in the array.
Request Body Example
{
"DevName": "/dev/md0",
"MdName": "md0",
"Level": "Raid1",
"Chunk": "512K",
"Metadata": "1.2",
"Blocks": ["/dev/sda", "/dev/sdb"]
}

Response Example

200 OK
{
"@odata.type": "#Message.v1_1_1.Message",
"Timestamp": "1785836138",
"MessageId": "Base.1.11.0.Success",
"Message": "The request completed successfully.",
"MessageArgs": [],
"MessageSeverity": "OK",
"Severity": "",
"Oem": null,
"RelatedProperties": null,
"Resolution": "None"
}

Response Fields

FieldTypeDescription
@odata.typestringOData type of the Redfish message resource.
TimestampstringTimestamp recorded by the server when generating the response.
MessageIdstringMessage identifier; Base.1.11.0.Success on success.
MessagestringDescription of the request processing result.
MessageArgsarrayList of message formatting arguments; an empty array in this response.
MessageSeveritystringMessage severity; OK on success.
SeveritystringSeverity field kept for compatibility; an empty string in this response.
Oemobject | nullOEM extension message; null in this response.
RelatedPropertiesarray | nullProperty paths related to the message; null in this response.
ResolutionstringRecommended resolution; None on success.

5.17 Setting RAID Risk Information

ItemContent
MethodPOST
ActionInfo/redfish/v1/Systems/{SystemId}/Storages/Mdraid/Actions/Oem/Firefly/SetRiskInfoActionInfo
Path/redfish/v1/Systems/{SystemId}/Storages/Mdraid/Actions/Oem/Firefly/SetRiskInfo
Request FieldTypeRequiredDescription
LevelstringNoTarget RAID level.
OpsstringYescreate, expan, or change.
Blocksobject[]YesList of disks used for the risk assessment.
Blocks[].BlockNamestringYesBlock device name.
Blocks[].SizenumberYesBlock device capacity.
Blocks[].RotabooleanYesWhether the media is rotational.
Request Body Example
{
"Level": "Raid1",
"Ops": "create",
"Blocks": [
{
"BlockName": "/dev/sda",
"Size": 1000000000000,
"Rota": true
}
]
}

Response Example

200 OK
{
"@odata.type": "#Message.v1_1_1.Message",
"Timestamp": "1785836138",
"MessageId": "Base.1.11.0.Success",
"Message": "The request completed successfully.",
"MessageArgs": [],
"MessageSeverity": "OK",
"Severity": "",
"Oem": null,
"RelatedProperties": null,
"Resolution": "None"
}

Response Fields

FieldTypeDescription
@odata.typestringOData type of the Redfish message resource.
TimestampstringTimestamp recorded by the server when generating the response.
MessageIdstringMessage identifier; Base.1.11.0.Success on success.
MessagestringDescription of the request processing result.
MessageArgsarrayList of message formatting arguments; an empty array in this response.
MessageSeveritystringMessage severity; OK on success.
SeveritystringSeverity field kept for compatibility; an empty string in this response.
Oemobject | nullOEM extension message; null in this response.
RelatedPropertiesarray | nullProperty paths related to the message; null in this response.
ResolutionstringRecommended resolution; None on success.

5.18 Querying a Specific Software RAID Array

ItemContent
MethodGET
Path/redfish/v1/Systems/{SystemId}/Storages/Mdraid/Volumes/{RaidArrayId}
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Basic Auth Token ```bash title="Query a Specific Software RAID Array" curl --user ':' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes/' ``` ```bash title="Query a Specific Software RAID Array with a Token" curl --header 'X-Xsrf-Token: ' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes/' ```

5.19 Removing a Member Disk from a RAID Array

ItemContent
MethodPOST
ActionInfo/redfish/v1/Systems/{SystemId}/Storages/Mdraid/Volumes/{RaidArrayId}/Actions/Oem/Firefly/RemoveDiskActionInfo
Path/redfish/v1/Systems/{SystemId}/Storages/Mdraid/Volumes/{RaidArrayId}/Actions/Oem/Firefly/RemoveDisk
Request fieldBlocksPath, string[], required
Server-side limitationCode comments indicate that only RAID1 supports removing member disks
Request Body Example
{
"BlocksPath": ["/dev/sdb"]
}

Response Example

200 OK
{
"@odata.type": "#Message.v1_1_1.Message",
"Timestamp": "1785836138",
"MessageId": "Base.1.11.0.Success",
"Message": "The request completed successfully.",
"MessageArgs": [],
"MessageSeverity": "OK",
"Severity": "",
"Oem": null,
"RelatedProperties": null,
"Resolution": "None"
}

Response Fields

FieldTypeDescription
@odata.typestringOData type of the Redfish message resource.
TimestampstringTimestamp recorded by the server when generating the response.
MessageIdstringMessage identifier; Base.1.11.0.Success on success.
MessagestringDescription of the request processing result.
MessageArgsarrayList of message formatting arguments; an empty array in this response.
MessageSeveritystringMessage severity; OK on success.
SeveritystringSeverity field kept for compatibility; an empty string in this response.
Oemobject | nullOEM extension message; null in this response.
RelatedPropertiesarray | nullProperty paths related to the message; null in this response.
ResolutionstringRecommended resolution; None on success.

5.20 Adding a Member Disk to a RAID Array

ItemContent
MethodPOST
ActionInfo/redfish/v1/Systems/{SystemId}/Storages/Mdraid/Volumes/{RaidArrayId}/Actions/Oem/Firefly/AddDiskActionInfo
Path/redfish/v1/Systems/{SystemId}/Storages/Mdraid/Volumes/{RaidArrayId}/Actions/Oem/Firefly/AddDisk
Request fieldBlocksPath, string[], required
Request Body Example
{
"BlocksPath": ["/dev/sdc"]
}

Response Example

200 OK
{
"@odata.type": "#Message.v1_1_1.Message",
"Timestamp": "1785836138",
"MessageId": "Base.1.11.0.Success",
"Message": "The request completed successfully.",
"MessageArgs": [],
"MessageSeverity": "OK",
"Severity": "",
"Oem": null,
"RelatedProperties": null,
"Resolution": "None"
}

Response Fields

FieldTypeDescription
@odata.typestringOData type of the Redfish message resource.
TimestampstringTimestamp recorded by the server when generating the response.
MessageIdstringMessage identifier; Base.1.11.0.Success on success.
MessagestringDescription of the request processing result.
MessageArgsarrayList of message formatting arguments; an empty array in this response.
MessageSeveritystringMessage severity; OK on success.
SeveritystringSeverity field kept for compatibility; an empty string in this response.
Oemobject | nullOEM extension message; null in this response.
RelatedPropertiesarray | nullProperty paths related to the message; null in this response.
ResolutionstringRecommended resolution; None on success.

5.21 Setting the RAID Bitmap

ItemContent
MethodPOST
ActionInfo/redfish/v1/Systems/{SystemId}/Storages/Mdraid/Volumes/{RaidArrayId}/Actions/Oem/Firefly/BitmapActionInfo
Path/redfish/v1/Systems/{SystemId}/Storages/Mdraid/Volumes/{RaidArrayId}/Actions/Oem/Firefly/Bitmap
Request fieldBitmapFlag, boolean, required
Request Body Example
{
"BitmapFlag": true
}

Response Example

200 OK
{
"@odata.type": "#Message.v1_1_1.Message",
"Timestamp": "1785836138",
"MessageId": "Base.1.11.0.Success",
"Message": "The request completed successfully.",
"MessageArgs": [],
"MessageSeverity": "OK",
"Severity": "",
"Oem": null,
"RelatedProperties": null,
"Resolution": "None"
}

Response Fields

FieldTypeDescription
@odata.typestringOData type of the Redfish message resource.
TimestampstringTimestamp recorded by the server when generating the response.
MessageIdstringMessage identifier; Base.1.11.0.Success on success.
MessagestringDescription of the request processing result.
MessageArgsarrayList of message formatting arguments; an empty array in this response.
MessageSeveritystringMessage severity; OK on success.
SeveritystringSeverity field kept for compatibility; an empty string in this response.
Oemobject | nullOEM extension message; null in this response.
RelatedPropertiesarray | nullProperty paths related to the message; null in this response.
ResolutionstringRecommended resolution; None on success.

5.22 Replacing a RAID Member Disk

ItemContent
MethodPOST
ActionInfo/redfish/v1/Systems/{SystemId}/Storages/Mdraid/Volumes/{RaidArrayId}/Actions/Oem/Firefly/ReplaceDiskActionInfo
Path/redfish/v1/Systems/{SystemId}/Storages/Mdraid/Volumes/{RaidArrayId}/Actions/Oem/Firefly/ReplaceDisk
Request FieldTypeRequiredDescription
OldBlocksPathstring[]YesPaths of the original member disks to be replaced.
NewBlocksPathstring[]YesPaths of the new member disks.
Request Body Example
{
"OldBlocksPath": ["/dev/sdb"],
"NewBlocksPath": ["/dev/sdc"]
}
The current RAID volume collection is empty, so no corresponding ActionInfo can be generated and there are no member disks that can be safely operated on. The methods, paths, and parameters above have been verified against the server-side registration code and the request structure, but no POST was performed.

Response Example

200 OK
{
"@odata.type": "#Message.v1_1_1.Message",
"Timestamp": "1785836138",
"MessageId": "Base.1.11.0.Success",
"Message": "The request completed successfully.",
"MessageArgs": [],
"MessageSeverity": "OK",
"Severity": "",
"Oem": null,
"RelatedProperties": null,
"Resolution": "None"
}

Response Fields

FieldTypeDescription
@odata.typestringOData type of the Redfish message resource.
TimestampstringTimestamp recorded by the server when generating the response.
MessageIdstringMessage identifier; Base.1.11.0.Success on success.
MessagestringDescription of the request processing result.
MessageArgsarrayList of message formatting arguments; an empty array in this response.
MessageSeveritystringMessage severity; OK on success.
SeveritystringSeverity field kept for compatibility; an empty string in this response.
Oemobject | nullOEM extension message; null in this response.
RelatedPropertiesarray | nullProperty paths related to the message; null in this response.
ResolutionstringRecommended resolution; None on success.

5.23 Getting the RAID Reshape Risk Context

ItemContent
MethodPOST
ActionInfo/redfish/v1/Systems/{SystemId}/Storages/Mdraid/Volumes/{RaidArrayId}/Actions/Oem/Firefly/Reshape/SetCurrentRiskInfoActionInfo
Path/redfish/v1/Systems/{SystemId}/Storages/Mdraid/Volumes/{RaidArrayId}/Actions/Oem/Firefly/Reshape/SetCurrentRiskInfo
Request fieldLevel, string, required
Allowed valuesLinear, Raid0, Raid1, Raid4, Raid5, Raid6, Raid10
Request Body Example
{
"Level": "Raid5"
}

This API calculates the reshape risk and RAID level capabilities of the current array and saves them to the array runtime state. No array currently exists, so no POST was performed.

Response Example

200 OK
{
"@odata.type": "#Message.v1_1_1.Message",
"Timestamp": "1785836138",
"MessageId": "Base.1.11.0.Success",
"Message": "The request completed successfully.",
"MessageArgs": [],
"MessageSeverity": "OK",
"Severity": "",
"Oem": null,
"RelatedProperties": null,
"Resolution": "None"
}

Response Fields

FieldTypeDescription
@odata.typestringOData type of the Redfish message resource.
TimestampstringTimestamp recorded by the server when generating the response.
MessageIdstringMessage identifier; Base.1.11.0.Success on success.
MessagestringDescription of the request processing result.
MessageArgsarrayList of message formatting arguments; an empty array in this response.
MessageSeveritystringMessage severity; OK on success.
SeveritystringSeverity field kept for compatibility; an empty string in this response.
Oemobject | nullOEM extension message; null in this response.
RelatedPropertiesarray | nullProperty paths related to the message; null in this response.
ResolutionstringRecommended resolution; None on success.

5.24 Comparing RAID Reshape Target Levels

ItemContent
MethodPOST
ActionInfo/redfish/v1/Systems/{SystemId}/Storages/Mdraid/Volumes/{RaidArrayId}/Actions/Oem/Firefly/Reshape/CompareActionInfo
Path/redfish/v1/Systems/{SystemId}/Storages/Mdraid/Volumes/{RaidArrayId}/Actions/Oem/Firefly/Reshape/Compare
Request fieldLevel, string, required
Allowed valuesLinear, Raid0, Raid1, Raid4, Raid5, Raid6, Raid10
Request Body Example
{
"Level": "Raid5"
}

The server calculates the upgrade or downgrade direction, the target capacity, the number of disks to add or release, and the disk count constraints for RAID10.

Response Example

200 OK
{
"@odata.type": "#Message.v1_1_1.Message",
"Timestamp": "1785836138",
"MessageId": "Base.1.11.0.Success",
"Message": "The request completed successfully.",
"MessageArgs": [],
"MessageSeverity": "OK",
"Severity": "",
"Oem": null,
"RelatedProperties": null,
"Resolution": "None"
}

Response Fields

FieldTypeDescription
@odata.typestringOData type of the Redfish message resource.
TimestampstringTimestamp recorded by the server when generating the response.
MessageIdstringMessage identifier; Base.1.11.0.Success on success.
MessagestringDescription of the request processing result.
MessageArgsarrayList of message formatting arguments; an empty array in this response.
MessageSeveritystringMessage severity; OK on success.
SeveritystringSeverity field kept for compatibility; an empty string in this response.
Oemobject | nullOEM extension message; null in this response.
RelatedPropertiesarray | nullProperty paths related to the message; null in this response.
ResolutionstringRecommended resolution; None on success.

5.25 Calculating RAID Reshape Risk

ItemContent
MethodPOST
ActionInfo/redfish/v1/Systems/{SystemId}/Storages/Mdraid/Volumes/{RaidArrayId}/Actions/Oem/Firefly/Reshape/RiskActionInfo
Path/redfish/v1/Systems/{SystemId}/Storages/Mdraid/Volumes/{RaidArrayId}/Actions/Oem/Firefly/Reshape/Risk
Request FieldTypeRequiredDescription
LevelstringNoTarget RAID level.
OpsstringYescreate, expan, or change.
Blocksobject[]YesDisks involved in the risk calculation.
Blocks[].BlockNamestringYesBlock device name.
Blocks[].SizenumberYesBlock device capacity.
Blocks[].RotabooleanYesWhether the media is rotational.
Request Body Example
{
"Level": "Raid5",
"Ops": "change",
"Blocks": [
{
"BlockName": "/dev/sdc",
"Size": 1000000000000,
"Rota": true
}
]
}

Response Example

200 OK
{
"@odata.type": "#Message.v1_1_1.Message",
"Timestamp": "1785836138",
"MessageId": "Base.1.11.0.Success",
"Message": "The request completed successfully.",
"MessageArgs": [],
"MessageSeverity": "OK",
"Severity": "",
"Oem": null,
"RelatedProperties": null,
"Resolution": "None"
}

Response Fields

FieldTypeDescription
@odata.typestringOData type of the Redfish message resource.
TimestampstringTimestamp recorded by the server when generating the response.
MessageIdstringMessage identifier; Base.1.11.0.Success on success.
MessagestringDescription of the request processing result.
MessageArgsarrayList of message formatting arguments; an empty array in this response.
MessageSeveritystringMessage severity; OK on success.
SeveritystringSeverity field kept for compatibility; an empty string in this response.
Oemobject | nullOEM extension message; null in this response.
RelatedPropertiesarray | nullProperty paths related to the message; null in this response.
ResolutionstringRecommended resolution; None on success.

5.26 Executing a RAID Reshape

ItemContent
MethodPOST
ActionInfo/redfish/v1/Systems/{SystemId}/Storages/Mdraid/Volumes/{RaidArrayId}/Actions/Oem/Firefly/Reshape/ExecActionInfo
Path/redfish/v1/Systems/{SystemId}/Storages/Mdraid/Volumes/{RaidArrayId}/Actions/Oem/Firefly/Reshape/Exec
Request fieldsSame as "Calculating RAID Reshape Risk"
Request Body Example
{
"Level": "Raid5",
"Ops": "change",
"Blocks": [
{
"BlockName": "/dev/sdc",
"Size": 1000000000000,
"Rota": true
}
]
}
A reshape can run for a long time and degrade the array. Before executing, call the risk context, level comparison, and risk calculation APIs first; afterwards, keep querying the status of the specific RAID array. No RAID array currently exists, so no reshape POST was performed this time.

Response Example

200 OK
{
"@odata.type": "#Message.v1_1_1.Message",
"Timestamp": "1785836138",
"MessageId": "Base.1.11.0.Success",
"Message": "The request completed successfully.",
"MessageArgs": [],
"MessageSeverity": "OK",
"Severity": "",
"Oem": null,
"RelatedProperties": null,
"Resolution": "None"
}

Response Fields

FieldTypeDescription
@odata.typestringOData type of the Redfish message resource.
TimestampstringTimestamp recorded by the server when generating the response.
MessageIdstringMessage identifier; Base.1.11.0.Success on success.
MessagestringDescription of the request processing result.
MessageArgsarrayList of message formatting arguments; an empty array in this response.
MessageSeveritystringMessage severity; OK on success.
SeveritystringSeverity field kept for compatibility; an empty string in this response.
Oemobject | nullOEM extension message; null in this response.
RelatedPropertiesarray | nullProperty paths related to the message; null in this response.
ResolutionstringRecommended resolution; None on success.

5.27 Assembling a Software RAID Array

ItemContent
MethodPOST
Path/redfish/v1/Systems/{SystemId}/Storages/Mdraid/Volumes/{RaidArrayId}/Actions/Assemble
ActionInfoNo separate ActionInfo
Request bodyNone

This route calls the server-side AssembleRaid. No array is currently available to assemble, so no POST was performed.

Response Example

200 OK
{
"@odata.type": "#Message.v1_1_1.Message",
"Timestamp": "1785836138",
"MessageId": "Base.1.11.0.Success",
"Message": "The request completed successfully.",
"MessageArgs": [],
"MessageSeverity": "OK",
"Severity": "",
"Oem": null,
"RelatedProperties": null,
"Resolution": "None"
}

Response Fields

FieldTypeDescription
@odata.typestringOData type of the Redfish message resource.
TimestampstringTimestamp recorded by the server when generating the response.
MessageIdstringMessage identifier; Base.1.11.0.Success on success.
MessagestringDescription of the request processing result.
MessageArgsarrayList of message formatting arguments; an empty array in this response.
MessageSeveritystringMessage severity; OK on success.
SeveritystringSeverity field kept for compatibility; an empty string in this response.
Oemobject | nullOEM extension message; null in this response.
RelatedPropertiesarray | nullProperty paths related to the message; null in this response.
ResolutionstringRecommended resolution; None on success.

5.28 Deleting a Software RAID Array

ItemContent
MethodDELETE
Path/redfish/v1/Systems/{SystemId}/Storages/Mdraid/Volumes/{RaidArrayId}
Request bodyNone
The server calls `DeleteRaid` to delete the array. This operation may erase the RAID metadata and make the data inaccessible; no RAID array currently exists, so no DELETE was performed.

5.29 Querying the SMART Operation ActionInfo

ItemContent
MethodGET
Path/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0/Actions/Oem/Firefly/SmartInfoActionInfo
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Actual status code200 OK
Basic Auth Token ```bash title="Query the SMART Operation ActionInfo" curl --user ":" \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0/Actions/Oem/Firefly/SmartInfoActionInfo" ``` ```bash title="Query the SMART Operation ActionInfo with a Token" curl --header "X-Xsrf-Token: " \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0/Actions/Oem/Firefly/SmartInfoActionInfo" ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0/Actions/Oem/Firefly/SmartInfoActionInfo",
"@odata.type": "#ActionInfo.v1_1_2.ActionInfo",
"Id": "ActionInfo",
"Name": "Action Info",
"Parameters": null
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the ActionInfo resource.
@odata.typestringOData type of the ActionInfo or message resource.
IdstringActionInfo resource identifier.
NamestringActionInfo resource name.
ParametersnullList of operation parameter definitions.

5.30 Querying the Create Partition ActionInfo

ItemContent
MethodGET
Path/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0/free0/Actions/Oem/Firefly/NewPartitionActionInfo
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Actual status code405 Method Not Allowed
Basic Auth Token ```bash title="Query the Create Partition ActionInfo" curl --user ":" \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0/free0/Actions/Oem/Firefly/NewPartitionActionInfo" ``` ```bash title="Query the Create Partition ActionInfo with a Token" curl --header "X-Xsrf-Token: " \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0/free0/Actions/Oem/Firefly/NewPartitionActionInfo" ```

Response Example

405 Method Not Allowed
{
"error": {
"@Message.ExtendedInfo": [
{
"@odata.type": "#Message.v1_1_1.Message",
"Timestamp": "1785863973",
"MessageId": "Base.1.11.0.GeneralError",
"Message": "[free0] not found in unallocated partition",
"MessageArgs": [

],
"MessageSeverity": "Critical",
"Severity": "",
"Oem": null,
"RelatedProperties": null,
"Resolution": "None"
}
],
"code": "Base.1.11.0.GeneralError",
"message": "A general error has occurred. See ExtendedInfo for more information."
}
}

Response Fields

FieldTypeDescription
errorobjectRedfish error object.
error.@Message.ExtendedInfoarrayList of error details.
error.@Message.ExtendedInfo[].@odata.typestringOData type of the ActionInfo or message resource.
error.@Message.ExtendedInfo[].TimestampstringTimestamp when the message was generated.
error.@Message.ExtendedInfo[].MessageIdstringRedfish message identifier.
error.@Message.ExtendedInfo[].MessagestringSpecific error message.
error.@Message.ExtendedInfo[].MessageArgsarrayList of message formatting arguments.
error.@Message.ExtendedInfo[].MessageSeveritystringMessage severity.
error.@Message.ExtendedInfo[].SeveritystringSeverity field kept for compatibility.
error.@Message.ExtendedInfo[].OemnullOEM extension message.
error.@Message.ExtendedInfo[].RelatedPropertiesnullProperty paths related to the message.
error.@Message.ExtendedInfo[].ResolutionstringRecommended resolution.
error.codestringRedfish error code.
error.messagestringGeneric Redfish error description.
The current system disk has no unallocated area available for creating a new partition, so querying with `free0` actually returns `405 Method Not Allowed`. Once a valid free-space resource appears, replace `free0` in the path with the actual free-space identifier returned by the query.

5.31 Querying the Write Volume Label ActionInfo

ItemContent
MethodGET
Path/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0/Actions/Oem/Firefly/WriteLabelActionInfo
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Actual status code200 OK
Basic Auth Token ```bash title="Query the Write Volume Label ActionInfo" curl --user ":" \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0/Actions/Oem/Firefly/WriteLabelActionInfo" ``` ```bash title="Query the Write Volume Label ActionInfo with a Token" curl --header "X-Xsrf-Token: " \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0/Actions/Oem/Firefly/WriteLabelActionInfo" ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0/Actions/Oem/Firefly/WriteLabelActionInfo",
"@odata.type": "#ActionInfo.v1_1_2.ActionInfo",
"Id": "ActionInfo",
"Name": "Action Info",
"Parameters": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "Label",
"Required": true
}
]
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the ActionInfo resource.
@odata.typestringOData type of the ActionInfo or message resource.
IdstringActionInfo resource identifier.
NamestringActionInfo resource name.
ParametersarrayList of operation parameter definitions.
Parameters[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].DataTypestringParameter data type.
Parameters[].NamestringParameter name.
Parameters[].RequiredbooleanWhether the parameter is required.

5.32 Querying the Mount Block Device ActionInfo

ItemContent
MethodGET
Path/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0/Actions/Oem/Firefly/MountActionInfo
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Actual status code200 OK
Basic Auth Token ```bash title="Query the Mount Block Device ActionInfo" curl --user ":" \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0/Actions/Oem/Firefly/MountActionInfo" ``` ```bash title="Query the Mount Block Device ActionInfo with a Token" curl --header "X-Xsrf-Token: " \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0/Actions/Oem/Firefly/MountActionInfo" ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0/Actions/Oem/Firefly/MountActionInfo",
"@odata.type": "#ActionInfo.v1_1_2.ActionInfo",
"Id": "ActionInfo",
"Name": "Action Info",
"Parameters": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "MountPath",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
"forever",
"tmp"
],
"DataType": "String",
"Name": "MountType",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
"rw",
"ro"
],
"DataType": "String",
"Name": "RwModel",
"Required": false
}
]
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the ActionInfo resource.
@odata.typestringOData type of the ActionInfo or message resource.
IdstringActionInfo resource identifier.
NamestringActionInfo resource name.
ParametersarrayList of operation parameter definitions.
Parameters[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].DataTypestringParameter data type.
Parameters[].NamestringParameter name.
Parameters[].RequiredbooleanWhether the parameter is required.
Parameters[].AllowableValuesarrayAllowed values and structure definitions for a parameter or sub-parameter.

5.33 Querying the Unmount Block Device ActionInfo

ItemContent
MethodGET
Path/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0/Actions/Oem/Firefly/UMountActionInfo
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Actual status code200 OK
Basic Auth Token ```bash title="Query the Unmount Block Device ActionInfo" curl --user ":" \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0/Actions/Oem/Firefly/UMountActionInfo" ``` ```bash title="Query the Unmount Block Device ActionInfo with a Token" curl --header "X-Xsrf-Token: " \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0/Actions/Oem/Firefly/UMountActionInfo" ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0/Actions/Oem/Firefly/UMountActionInfo",
"@odata.type": "#ActionInfo.v1_1_2.ActionInfo",
"Id": "ActionInfo",
"Name": "Action Info",
"Parameters": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "MountPath",
"Required": true
}
]
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the ActionInfo resource.
@odata.typestringOData type of the ActionInfo or message resource.
IdstringActionInfo resource identifier.
NamestringActionInfo resource name.
ParametersarrayList of operation parameter definitions.
Parameters[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].DataTypestringParameter data type.
Parameters[].NamestringParameter name.
Parameters[].RequiredbooleanWhether the parameter is required.

5.34 Querying the Create File System ActionInfo

ItemContent
MethodGET
Path/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0/Actions/Oem/Firefly/MakeFileSystemActionInfo
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Actual status code200 OK
Basic Auth Token ```bash title="Query the Create File System ActionInfo" curl --user ":" \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0/Actions/Oem/Firefly/MakeFileSystemActionInfo" ``` ```bash title="Query the Create File System ActionInfo with a Token" curl --header "X-Xsrf-Token: " \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0/Actions/Oem/Firefly/MakeFileSystemActionInfo" ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0/Actions/Oem/Firefly/MakeFileSystemActionInfo",
"@odata.type": "#ActionInfo.v1_1_2.ActionInfo",
"Id": "ActionInfo",
"Name": "Action Info",
"Parameters": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
"ext4",
"exfat",
"ntfs",
"ext2",
"ext3",
"fat32"
],
"DataType": "String",
"Name": "FsType",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "Label",
"Required": false
}
]
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the ActionInfo resource.
@odata.typestringOData type of the ActionInfo or message resource.
IdstringActionInfo resource identifier.
NamestringActionInfo resource name.
ParametersarrayList of operation parameter definitions.
Parameters[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].AllowableValuesarrayAllowed values and structure definitions for a parameter or sub-parameter.
Parameters[].DataTypestringParameter data type.
Parameters[].NamestringParameter name.
Parameters[].RequiredbooleanWhether the parameter is required.

5.35 Querying the Check-and-Repair ActionInfo

ItemContent
MethodGET
Path/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0/Actions/Oem/Firefly/CheckRepairActionInfo
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Actual status code200 OK
Basic Auth Token ```bash title="Query the Check-and-Repair ActionInfo" curl --user ":" \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0/Actions/Oem/Firefly/CheckRepairActionInfo" ``` ```bash title="Query the Check-and-Repair ActionInfo with a Token" curl --header "X-Xsrf-Token: " \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0/Actions/Oem/Firefly/CheckRepairActionInfo" ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0/Actions/Oem/Firefly/CheckRepairActionInfo",
"@odata.type": "#ActionInfo.v1_1_2.ActionInfo",
"Id": "ActionInfo",
"Name": "Action Info",
"Parameters": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
"Action_CheckFS",
"Action_CheckFSAutoRepair",
"Action_CheckSector"
],
"DataType": "String",
"Name": "ActionType",
"Required": true
}
]
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the ActionInfo resource.
@odata.typestringOData type of the ActionInfo or message resource.
IdstringActionInfo resource identifier.
NamestringActionInfo resource name.
ParametersarrayList of operation parameter definitions.
Parameters[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].AllowableValuesarrayAllowed values and structure definitions for a parameter or sub-parameter.
Parameters[].DataTypestringParameter data type.
Parameters[].NamestringParameter name.
Parameters[].RequiredbooleanWhether the parameter is required.

5.36 Querying the Cancel Storage Task ActionInfo

ItemContent
MethodGET
Path/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0/Actions/Oem/Firefly/TaskListActionInfo
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Actual status code200 OK
Basic Auth Token ```bash title="Query the Cancel Storage Task ActionInfo" curl --user ":" \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0/Actions/Oem/Firefly/TaskListActionInfo" ``` ```bash title="Query the Cancel Storage Task ActionInfo with a Token" curl --header "X-Xsrf-Token: " \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0/Actions/Oem/Firefly/TaskListActionInfo" ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/Storages/BlockDevice/Volumes/mmcblk0/Actions/Oem/Firefly/TaskListActionInfo",
"@odata.type": "#ActionInfo.v1_1_2.ActionInfo",
"Id": "ActionInfo",
"Name": "Action Info",
"Parameters": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
"Action_CheckFS",
"Action_CheckFSAutoRepair",
"Action_CheckSector",
"Action_CheckFS",
"Action_Mkfs"
],
"DataType": "String",
"Name": "ActionType",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
"Cancel"
],
"DataType": "String",
"Name": "Model",
"Required": true
}
]
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the ActionInfo resource.
@odata.typestringOData type of the ActionInfo or message resource.
IdstringActionInfo resource identifier.
NamestringActionInfo resource name.
ParametersarrayList of operation parameter definitions.
Parameters[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].AllowableValuesarrayAllowed values and structure definitions for a parameter or sub-parameter.
Parameters[].DataTypestringParameter data type.
Parameters[].NamestringParameter name.
Parameters[].RequiredbooleanWhether the parameter is required.

5.37 Querying the Create Software RAID ActionInfo

ItemContent
MethodGET
Path/redfish/v1/Systems/bmc/Storages/Mdraid/Actions/Oem/Firefly/CreateRaidArrayActionInfo
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Actual status code200 OK
Basic Auth Token ```bash title="Query the Create Software RAID ActionInfo" curl --user ":" \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Storages/Mdraid/Actions/Oem/Firefly/CreateRaidArrayActionInfo" ``` ```bash title="Query the Create Software RAID ActionInfo with a Token" curl --header "X-Xsrf-Token: " \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Storages/Mdraid/Actions/Oem/Firefly/CreateRaidArrayActionInfo" ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/Storages/Mdraid/Actions/Oem/Firefly/CreateRaidArrayActionInfo",
"@odata.type": "#ActionInfo.v1_1_2.ActionInfo",
"Id": "ActionInfo",
"Name": "Action Info",
"Parameters": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "DevName",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "MdName",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
"Linear",
"Raid0",
"Raid1",
"Raid4",
"Raid5",
"Raid6",
"Raid10"
],
"DataType": "String",
"Name": "Level",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
"64K",
"128K",
"256K",
"512K"
],
"DataType": "String",
"Name": "Chunk",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
"0.90",
"1.0",
"1.1",
"1.2"
],
"DataType": "String",
"Name": "Metadata",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "StringArray",
"Name": "Blocks",
"Required": true
}
]
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the ActionInfo resource.
@odata.typestringOData type of the ActionInfo or message resource.
IdstringActionInfo resource identifier.
NamestringActionInfo resource name.
ParametersarrayList of operation parameter definitions.
Parameters[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].DataTypestringParameter data type.
Parameters[].NamestringParameter name.
Parameters[].RequiredbooleanWhether the parameter is required.
Parameters[].AllowableValuesarrayAllowed values and structure definitions for a parameter or sub-parameter.

5.38 Querying the Set RAID Risk Information ActionInfo

ItemContent
MethodGET
Path/redfish/v1/Systems/bmc/Storages/Mdraid/Actions/Oem/Firefly/SetRiskInfoActionInfo
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Actual status code200 OK
Basic Auth Token ```bash title="Query the Set RAID Risk Information ActionInfo" curl --user ":" \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Storages/Mdraid/Actions/Oem/Firefly/SetRiskInfoActionInfo" ``` ```bash title="Query the Set RAID Risk Information ActionInfo with a Token" curl --header "X-Xsrf-Token: " \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Storages/Mdraid/Actions/Oem/Firefly/SetRiskInfoActionInfo" ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/Storages/Mdraid/Actions/Oem/Firefly/SetRiskInfoActionInfo",
"@odata.type": "#ActionInfo.v1_1_2.ActionInfo",
"Id": "ActionInfo",
"Name": "Action Info",
"Parameters": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
"Linear",
"Raid0",
"Raid1",
"Raid4",
"Raid5",
"Raid6",
"Raid10"
],
"DataType": "String",
"Name": "Level",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
"create",
"expan",
"change"
],
"DataType": "String",
"Name": "Ops",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "BlockName",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Number",
"Name": "Size",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Boolean",
"Name": "Rota",
"Required": true
}
],
"DataType": "ObjectArray",
"Name": "Blocks",
"Required": true
}
]
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the ActionInfo resource.
@odata.typestringOData type of the ActionInfo or message resource.
IdstringActionInfo resource identifier.
NamestringActionInfo resource name.
ParametersarrayList of operation parameter definitions.
Parameters[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].AllowableValuesarrayAllowed values and structure definitions for a parameter or sub-parameter.
Parameters[].DataTypestringParameter data type.
Parameters[].NamestringParameter name.
Parameters[].RequiredbooleanWhether the parameter is required.
Parameters[].AllowableValues[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowableValues[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].AllowableValues[].DataTypestringParameter data type.
Parameters[].AllowableValues[].NamestringParameter name.
Parameters[].AllowableValues[].RequiredbooleanWhether the parameter is required.

5.39 Querying the Remove RAID Member Disk ActionInfo

ItemContent
MethodGET
Path/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes/md0/Actions/Oem/Firefly/RemoveDiskActionInfo
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Actual status code200 OK
Basic Auth Token ```bash title="Query the Remove RAID Member Disk ActionInfo" curl --user ":" \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes/md0/Actions/Oem/Firefly/RemoveDiskActionInfo" ``` ```bash title="Query the Remove RAID Member Disk ActionInfo with a Token" curl --header "X-Xsrf-Token: " \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes/md0/Actions/Oem/Firefly/RemoveDiskActionInfo" ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes/md0/Actions/Oem/Firefly/RemoveDiskActionInfo",
"@odata.type": "#ActionInfo.v1_1_2.ActionInfo",
"Id": "ActionInfo",
"Name": "Action Info",
"Parameters": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "StringArray",
"Name": "BlocksPath",
"Required": true
}
]
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the ActionInfo resource.
@odata.typestringOData type of the ActionInfo or message resource.
IdstringActionInfo resource identifier.
NamestringActionInfo resource name.
ParametersarrayList of operation parameter definitions.
Parameters[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].DataTypestringParameter data type.
Parameters[].NamestringParameter name.
Parameters[].RequiredbooleanWhether the parameter is required.

5.40 Querying the Add RAID Member Disk ActionInfo

ItemContent
MethodGET
Path/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes/md0/Actions/Oem/Firefly/AddDiskActionInfo
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Actual status code200 OK
Basic Auth Token ```bash title="Query the Add RAID Member Disk ActionInfo" curl --user ":" \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes/md0/Actions/Oem/Firefly/AddDiskActionInfo" ``` ```bash title="Query the Add RAID Member Disk ActionInfo with a Token" curl --header "X-Xsrf-Token: " \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes/md0/Actions/Oem/Firefly/AddDiskActionInfo" ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes/md0/Actions/Oem/Firefly/AddDiskActionInfo",
"@odata.type": "#ActionInfo.v1_1_2.ActionInfo",
"Id": "ActionInfo",
"Name": "Action Info",
"Parameters": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "StringArray",
"Name": "BlocksPath",
"Required": true
}
]
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the ActionInfo resource.
@odata.typestringOData type of the ActionInfo or message resource.
IdstringActionInfo resource identifier.
NamestringActionInfo resource name.
ParametersarrayList of operation parameter definitions.
Parameters[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].DataTypestringParameter data type.
Parameters[].NamestringParameter name.
Parameters[].RequiredbooleanWhether the parameter is required.

5.41 Querying the RAID Bitmap ActionInfo

ItemContent
MethodGET
Path/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes/md0/Actions/Oem/Firefly/BitmapActionInfo
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Actual status code200 OK
Basic Auth Token ```bash title="Query the RAID Bitmap ActionInfo" curl --user ":" \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes/md0/Actions/Oem/Firefly/BitmapActionInfo" ``` ```bash title="Query the RAID Bitmap ActionInfo with a Token" curl --header "X-Xsrf-Token: " \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes/md0/Actions/Oem/Firefly/BitmapActionInfo" ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes/md0/Actions/Oem/Firefly/BitmapActionInfo",
"@odata.type": "#ActionInfo.v1_1_2.ActionInfo",
"Id": "ActionInfo",
"Name": "Action Info",
"Parameters": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
true,
false
],
"DataType": "Boolean",
"Name": "BitmapFlag",
"Required": true
}
]
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the ActionInfo resource.
@odata.typestringOData type of the ActionInfo or message resource.
IdstringActionInfo resource identifier.
NamestringActionInfo resource name.
ParametersarrayList of operation parameter definitions.
Parameters[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].AllowableValuesarrayAllowed values and structure definitions for a parameter or sub-parameter.
Parameters[].DataTypestringParameter data type.
Parameters[].NamestringParameter name.
Parameters[].RequiredbooleanWhether the parameter is required.

5.42 Querying the Replace RAID Member Disk ActionInfo

ItemContent
MethodGET
Path/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes/md0/Actions/Oem/Firefly/ReplaceDiskActionInfo
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Actual status code200 OK
Basic Auth Token ```bash title="Query the Replace RAID Member Disk ActionInfo" curl --user ":" \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes/md0/Actions/Oem/Firefly/ReplaceDiskActionInfo" ``` ```bash title="Query the Replace RAID Member Disk ActionInfo with a Token" curl --header "X-Xsrf-Token: " \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes/md0/Actions/Oem/Firefly/ReplaceDiskActionInfo" ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes/md0/Actions/Oem/Firefly/ReplaceDiskActionInfo",
"@odata.type": "#ActionInfo.v1_1_2.ActionInfo",
"Id": "ActionInfo",
"Name": "Action Info",
"Parameters": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "StringArray",
"Name": "OldBlocksPath",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "StringArray",
"Name": "NewBlocksPath",
"Required": true
}
]
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the ActionInfo resource.
@odata.typestringOData type of the ActionInfo or message resource.
IdstringActionInfo resource identifier.
NamestringActionInfo resource name.
ParametersarrayList of operation parameter definitions.
Parameters[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].DataTypestringParameter data type.
Parameters[].NamestringParameter name.
Parameters[].RequiredbooleanWhether the parameter is required.

5.43 Querying the RAID Reshape Current Risk ActionInfo

ItemContent
MethodGET
Path/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes/md0/Actions/Oem/Firefly/Reshape/SetCurrentRiskInfoActionInfo
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Actual status code200 OK
Basic Auth Token ```bash title="Query the RAID Reshape Current Risk ActionInfo" curl --user ":" \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes/md0/Actions/Oem/Firefly/Reshape/SetCurrentRiskInfoActionInfo" ``` ```bash title="Query the RAID Reshape Current Risk ActionInfo with a Token" curl --header "X-Xsrf-Token: " \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes/md0/Actions/Oem/Firefly/Reshape/SetCurrentRiskInfoActionInfo" ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes/md0/Actions/Oem/Firefly/Reshape/SetCurrentRiskInfoActionInfo",
"@odata.type": "#ActionInfo.v1_1_2.ActionInfo",
"Id": "ActionInfo",
"Name": "Action Info",
"Parameters": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
"Linear",
"Raid0",
"Raid1",
"Raid4",
"Raid5",
"Raid6",
"Raid10"
],
"DataType": "String",
"Name": "Level",
"Required": true
}
]
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the ActionInfo resource.
@odata.typestringOData type of the ActionInfo or message resource.
IdstringActionInfo resource identifier.
NamestringActionInfo resource name.
ParametersarrayList of operation parameter definitions.
Parameters[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].AllowableValuesarrayAllowed values and structure definitions for a parameter or sub-parameter.
Parameters[].DataTypestringParameter data type.
Parameters[].NamestringParameter name.
Parameters[].RequiredbooleanWhether the parameter is required.

5.44 Querying the RAID Reshape Compare ActionInfo

ItemContent
MethodGET
Path/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes/md0/Actions/Oem/Firefly/Reshape/CompareActionInfo
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Actual status code200 OK
Basic Auth Token ```bash title="Query the RAID Reshape Compare ActionInfo" curl --user ":" \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes/md0/Actions/Oem/Firefly/Reshape/CompareActionInfo" ``` ```bash title="Query the RAID Reshape Compare ActionInfo with a Token" curl --header "X-Xsrf-Token: " \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes/md0/Actions/Oem/Firefly/Reshape/CompareActionInfo" ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes/md0/Actions/Oem/Firefly/Reshape/CompareActionInfo",
"@odata.type": "#ActionInfo.v1_1_2.ActionInfo",
"Id": "ActionInfo",
"Name": "Action Info",
"Parameters": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
"Linear",
"Raid0",
"Raid1",
"Raid4",
"Raid5",
"Raid6",
"Raid10"
],
"DataType": "String",
"Name": "Level",
"Required": true
}
]
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the ActionInfo resource.
@odata.typestringOData type of the ActionInfo or message resource.
IdstringActionInfo resource identifier.
NamestringActionInfo resource name.
ParametersarrayList of operation parameter definitions.
Parameters[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].AllowableValuesarrayAllowed values and structure definitions for a parameter or sub-parameter.
Parameters[].DataTypestringParameter data type.
Parameters[].NamestringParameter name.
Parameters[].RequiredbooleanWhether the parameter is required.

5.45 Querying the RAID Reshape Risk ActionInfo

ItemContent
MethodGET
Path/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes/md0/Actions/Oem/Firefly/Reshape/RiskActionInfo
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Actual status code200 OK
Basic Auth Token ```bash title="Query the RAID Reshape Risk ActionInfo" curl --user ":" \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes/md0/Actions/Oem/Firefly/Reshape/RiskActionInfo" ``` ```bash title="Query the RAID Reshape Risk ActionInfo with a Token" curl --header "X-Xsrf-Token: " \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes/md0/Actions/Oem/Firefly/Reshape/RiskActionInfo" ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes/md0/Actions/Oem/Firefly/Reshape/RiskActionInfo",
"@odata.type": "#ActionInfo.v1_1_2.ActionInfo",
"Id": "ActionInfo",
"Name": "Action Info",
"Parameters": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
"Linear",
"Raid0",
"Raid1",
"Raid4",
"Raid5",
"Raid6",
"Raid10"
],
"DataType": "String",
"Name": "Level",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
"create",
"expan",
"change"
],
"DataType": "String",
"Name": "Ops",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "BlockName",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Number",
"Name": "Size",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Boolean",
"Name": "Rota",
"Required": true
}
],
"DataType": "ObjectArray",
"Name": "Blocks",
"Required": true
}
]
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the ActionInfo resource.
@odata.typestringOData type of the ActionInfo or message resource.
IdstringActionInfo resource identifier.
NamestringActionInfo resource name.
ParametersarrayList of operation parameter definitions.
Parameters[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].AllowableValuesarrayAllowed values and structure definitions for a parameter or sub-parameter.
Parameters[].DataTypestringParameter data type.
Parameters[].NamestringParameter name.
Parameters[].RequiredbooleanWhether the parameter is required.
Parameters[].AllowableValues[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowableValues[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].AllowableValues[].DataTypestringParameter data type.
Parameters[].AllowableValues[].NamestringParameter name.
Parameters[].AllowableValues[].RequiredbooleanWhether the parameter is required.

5.46 Querying the Execute RAID Reshape ActionInfo

ItemContent
MethodGET
Path/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes/md0/Actions/Oem/Firefly/Reshape/ExecActionInfo
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Actual status code200 OK
Basic Auth Token ```bash title="Query the Execute RAID Reshape ActionInfo" curl --user ":" \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes/md0/Actions/Oem/Firefly/Reshape/ExecActionInfo" ``` ```bash title="Query the Execute RAID Reshape ActionInfo with a Token" curl --header "X-Xsrf-Token: " \ --header "Accept: application/json" \ "://:/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes/md0/Actions/Oem/Firefly/Reshape/ExecActionInfo" ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/Storages/Mdraid/Volumes/md0/Actions/Oem/Firefly/Reshape/ExecActionInfo",
"@odata.type": "#ActionInfo.v1_1_2.ActionInfo",
"Id": "ActionInfo",
"Name": "Action Info",
"Parameters": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
"Linear",
"Raid0",
"Raid1",
"Raid4",
"Raid5",
"Raid6",
"Raid10"
],
"DataType": "String",
"Name": "Level",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
"create",
"expan",
"change"
],
"DataType": "String",
"Name": "Ops",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "BlockName",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Number",
"Name": "Size",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Boolean",
"Name": "Rota",
"Required": true
}
],
"DataType": "ObjectArray",
"Name": "Blocks",
"Required": true
}
]
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the ActionInfo resource.
@odata.typestringOData type of the ActionInfo or message resource.
IdstringActionInfo resource identifier.
NamestringActionInfo resource name.
ParametersarrayList of operation parameter definitions.
Parameters[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].AllowableValuesarrayAllowed values and structure definitions for a parameter or sub-parameter.
Parameters[].DataTypestringParameter data type.
Parameters[].NamestringParameter name.
Parameters[].RequiredbooleanWhether the parameter is required.
Parameters[].AllowableValues[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowableValues[].AllowablePatternstringString pattern allowed for the parameter; an empty string means no pattern restriction.
Parameters[].AllowableValues[].DataTypestringParameter data type.
Parameters[].AllowableValues[].NamestringParameter name.
Parameters[].AllowableValues[].RequiredbooleanWhether the parameter is required.

6 Power Management Resources

6.1 Querying the Power Mode Parameters

ItemContent
MethodGET
Path/redfish/v1/Systems/{SystemId}/Actions/PowerModeSettingActionInfo
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Success status code200 OK
Basic Auth Token ```bash title="Query the Power Mode Parameters" curl --user ':' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc/Actions/PowerModeSettingActionInfo' ``` ```bash title="Query the Power Mode Parameters with a Token" curl --header 'X-Xsrf-Token: ' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc/Actions/PowerModeSettingActionInfo' ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/Actions/PowerModeSettingActionInfo",
"@odata.type": "#ActionInfo.v1_1_2.ActionInfo",
"Id": "ActionInfo",
"Name": "Action Info",
"Parameters": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
"MaximumPerformance",
"BalancedPerformance",
"PowerSaving",
"Static",
"OSControlled"
],
"DataType": "String",
"Name": "PowerMode",
"Required": true
}
]
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the power mode ActionInfo resource.
@odata.typestringOData type of the ActionInfo resource.
IdstringActionInfo resource identifier.
NamestringActionInfo resource name.
ParametersarrayList of power mode parameter definitions.
Parameters[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowablePatternstringAllowed string pattern.
Parameters[].AllowableValuesarrayList of allowed power modes.
Parameters[].DataTypestringParameter data type.
Parameters[].NamestringParameter name, currently PowerMode.
Parameters[].RequiredbooleanWhether the parameter is required.

6.2 Setting the Power Mode

Sets the CPU frequency scaling mode of the specified system. Before submitting, use the "Query the Power Mode Parameters" API to obtain the values supported by the current service.

ItemContent
MethodPOST
Path/redfish/v1/Systems/{SystemId}/Actions/ComputerSystem.PowerMode.Setting
ActionInfo/redfish/v1/Systems/{SystemId}/Actions/PowerModeSettingActionInfo
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Required privilegeOemPowerControl
Success status code200 OK

Request Parameters

FieldTypeRequiredDescription
PowerModestringYesPower mode. Allowed values are MaximumPerformance, BalancedPerformance, PowerSaving, Static, and OSControlled.
ValueDescription
MaximumPerformanceMaximum performance mode. The server maps it to the CPU Performance governor.
BalancedPerformanceBalanced performance mode. The server maps it to the CPU Interactive governor.
PowerSavingPower-saving mode. The server maps it to the CPU Powersave governor.
StaticStatic mode. The server maps it to the CPU Userspace governor.
OSControlledOperating-system-controlled mode. The server maps it to the CPU Ondemand governor.
This API immediately changes the CPU frequency scaling policy of the target system and may affect performance, power consumption, and temperature. Confirm the service workload first and use the supported values returned by the ActionInfo. Basic Auth Token ```bash title="Set the Power Mode" curl --user ':' \ --request POST \ --header 'Content-Type: application/json' \ --data '{ "PowerMode": "OSControlled" }' \ '://:/redfish/v1/Systems/bmc/Actions/ComputerSystem.PowerMode.Setting' ``` ```bash title="Set the Power Mode with a Token" curl --request POST \ --header 'X-Xsrf-Token: ' \ --header 'Content-Type: application/json' \ --data '{ "PowerMode": "OSControlled" }' \ '://:/redfish/v1/Systems/bmc/Actions/ComputerSystem.PowerMode.Setting' ```

Response Example

200 OK
{
"@odata.type": "#Message.v1_1_1.Message",
"Timestamp": "1785836138",
"MessageId": "Base.1.11.0.Success",
"Message": "The request completed successfully.",
"MessageArgs": [],
"MessageSeverity": "OK",
"Severity": "",
"Oem": null,
"RelatedProperties": null,
"Resolution": "None"
}

Response Fields

FieldTypeDescription
@odata.typestringOData type of the Redfish message resource.
TimestampstringTimestamp recorded by the server when generating the response.
MessageIdstringMessage identifier; Base.1.11.0.Success on success.
MessagestringDescription of the request processing result.
MessageArgsarrayList of message formatting arguments; an empty array in this response.
MessageSeveritystringMessage severity; OK on success.
SeveritystringSeverity field kept for compatibility; an empty string in this response.
Oemobject | nullOEM extension message; null in this response.
RelatedPropertiesarray | nullProperty paths related to the message; null in this response.
ResolutionstringRecommended resolution; None on success.

6.3 Querying the System Reset Parameters

Queries the reset operation types supported by the specified system. Different systems may return different parameter definitions, so query the ActionInfo of the target system before performing a reset.

ItemContent
MethodGET
Path/redfish/v1/Systems/{SystemId}/Actions/ResetActionInfo
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Success status code200 OK
Basic Auth Token ```bash title="Query the System Reset Parameters" curl --user ':' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/sub01/Actions/ResetActionInfo' ``` ```bash title="Query the System Reset Parameters with a Token" curl --header 'X-Xsrf-Token: ' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/sub01/Actions/ResetActionInfo' ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/sub01/Actions/ResetActionInfo",
"@odata.type": "#ActionInfo.v1_1_2.ActionInfo",
"Id": "ActionInfo",
"Name": "Action Info",
"Parameters": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
"On",
"ForceOn",
"ForceOff",
"ForceRestart",
"GracefulRestart",
"GracefulShutdown",
"PowerCycle",
"LoaderByHardware"
],
"DataType": "String",
"Name": "ResetType",
"Required": true
}
]
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the system reset ActionInfo resource.
@odata.typestringOData type of the ActionInfo resource.
IdstringActionInfo resource identifier.
NamestringActionInfo resource name.
ParametersarrayList of reset parameter definitions.
Parameters[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowablePatternstringAllowed string pattern; an empty string means no pattern restriction.
Parameters[].AllowableValuesarrayList of reset types supported by the target system.
Parameters[].DataTypestringParameter data type.
Parameters[].NamestringRequest field name, currently ResetType for sub-board systems.
Parameters[].RequiredbooleanWhether the parameter is required.

6.4 Resetting the System

Performs a power-on, shutdown, restart, or power cycle operation on the specified system according to ResetType.

ItemContent
MethodPOST
Path/redfish/v1/Systems/{SystemId}/Actions/ComputerSystem.Reset
ActionInfo/redfish/v1/Systems/{SystemId}/Actions/ResetActionInfo
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Required privilegeOemPowerControl
Success status code200 OK

Request Parameters

FieldTypeRequiredDescription
ResetTypestringYesReset type for sub-board systems. The actual allowed values are subject to the Reset ActionInfo of the target system.
ValueDescription
OnPowers on a system that is off; when the system is already on, it usually stays in the current state.
ForceOnForces the system power on.
ForceOffForces the system power off, which may cause unsaved data to be lost.
ForceRestartForces a system restart.
GracefulRestartRequests a graceful operating system restart.
GracefulShutdownRequests a graceful operating system shutdown.
PowerCyclePowers off and then powers on again.
LoaderByHardwareEnters the Loader through hardware.
`ForceOff`, `ForceRestart`, `GracefulRestart`, `GracefulShutdown`, `PowerCycle`, and `LoaderByHardware` may interrupt services. Before executing, confirm the target `SystemId`, save service data, and reserve a recovery window. Basic Auth Token ```bash title="Power On the System" curl --user ':' \ --request POST \ --header 'Content-Type: application/json' \ --data '{ "ResetType": "On" }' \ '://:/redfish/v1/Systems//Actions/ComputerSystem.Reset' ``` ```bash title="Power On the System with a Token" curl --request POST \ --header 'X-Xsrf-Token: ' \ --header 'Content-Type: application/json' \ --data '{ "ResetType": "On" }' \ '://:/redfish/v1/Systems//Actions/ComputerSystem.Reset' ```

Response Example

200 OK
{
"@odata.type": "#Message.v1_1_1.Message",
"Timestamp": "1785836138",
"MessageId": "Base.1.11.0.Success",
"Message": "The request completed successfully.",
"MessageArgs": [],
"MessageSeverity": "OK",
"Severity": "",
"Oem": null,
"RelatedProperties": null,
"Resolution": "None"
}

Response Fields

FieldTypeDescription
@odata.typestringOData type of the Redfish message resource.
TimestampstringTimestamp recorded by the server when generating the response.
MessageIdstringMessage identifier; Base.1.11.0.Success on success.
MessagestringDescription of the request processing result.
MessageArgsarrayList of message formatting arguments; an empty array in this response.
MessageSeveritystringMessage severity; OK on success.
SeveritystringSeverity field kept for compatibility; an empty string in this response.
Oemobject | nullOEM extension message; null in this response.
RelatedPropertiesarray | nullProperty paths related to the message; null in this response.
ResolutionstringRecommended resolution; None on success.
The parameter name in the Reset ActionInfo that the current server returns for `bmc` is `GracefulRestart`, not the `ResetType` used by sub-boards. When calling `bmc`, follow its ActionInfo and submit `{"GracefulRestart":"GracefulRestart"}`; the server returns a success message, but the implementation does not actually restart the BMC. Submitting `ResetType` directly to `bmc` returns `400 PropertyUnknown`.

6.5 Querying the Power-On Policy Parameters

Queries the request parameters, required status, and allowed values of the set power-on policy API.

ItemContent
MethodGET
Path/redfish/v1/Systems/{SystemId}/Actions/SetPowerConfig.ActionInfo
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Success status code200 OK
Basic Auth Token ```bash title="Query the Power-On Policy Parameters" curl --user ':' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/sub01/Actions/SetPowerConfig.ActionInfo' ``` ```bash title="Query the Power-On Policy Parameters with a Token" curl --header 'X-Xsrf-Token: ' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/sub01/Actions/SetPowerConfig.ActionInfo' ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/sub01/Actions/SetPowerConfig.ActionInfo",
"@odata.type": "#ActionInfo.v1_1_2.ActionInfo",
"Id": "ActionInfo",
"Name": "Action Info",
"Parameters": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Number",
"Name": "PowerOnDelaySeconds",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
"AlwaysOn",
"AlwaysOff",
"LastState"
],
"DataType": "String",
"Name": "PowerRestorePolicy",
"Required": true
}
]
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the power-on policy ActionInfo resource.
@odata.typestringOData type of the ActionInfo resource.
IdstringActionInfo resource identifier.
NamestringActionInfo resource name.
ParametersarrayList of power-on policy parameter definitions.
Parameters[].DisallowedInputbooleanWhether input is disallowed for this parameter.
Parameters[].AllowablePatternstringAllowed string pattern; an empty string means no pattern restriction.
Parameters[].AllowableValuesarrayList of allowed values for a string parameter; only PowerRestorePolicy returns this field.
Parameters[].DataTypestringParameter data type, which can be Number or String.
Parameters[].NamestringRequest field name.
Parameters[].RequiredbooleanWhether the parameter is required.

6.6 Setting the Power-On Policy

Sets the startup policy and power-on delay for the sub-board after power is restored.

ItemContent
MethodPOST
Path/redfish/v1/Systems/{SystemId}/Actions/SetPowerConfig
ActionInfo/redfish/v1/Systems/{SystemId}/Actions/SetPowerConfig.ActionInfo
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Required privilegeOemPowerControl
Success status code200 OK

Request Parameters

FieldTypeRequiredDescription
PowerRestorePolicystringYesPower restore policy. Allowed values are AlwaysOn, AlwaysOff, and LastState.
PowerOnDelaySecondsintegerNoNumber of seconds to delay power-on after power is restored. If omitted, the Go server treats it as the integer zero value 0.
PowerRestorePolicy ValueDescription
AlwaysOnAutomatically starts the sub-board after power is restored.
AlwaysOffStays powered off after power is restored.
LastStateRestores the power state from before the power loss after power is restored.
This API writes the sub-board runtime power configuration and affects subsequent power-loss recovery behavior. It is recommended to first query `PowerRestorePolicy` and `PowerOnDelaySeconds` in the system resources and confirm the target `SystemId` before submitting. `bmc` does not support this operation. Basic Auth Token ```bash title="Set the Power-On Policy" curl --user ':' \ --request POST \ --header 'Content-Type: application/json' \ --data '{ "PowerRestorePolicy": "AlwaysOn", "PowerOnDelaySeconds": 0 }' \ '://:/redfish/v1/Systems//Actions/SetPowerConfig' ``` ```bash title="Set the Power-On Policy with a Token" curl --request POST \ --header 'X-Xsrf-Token: ' \ --header 'Content-Type: application/json' \ --data '{ "PowerRestorePolicy": "AlwaysOn", "PowerOnDelaySeconds": 0 }' \ '://:/redfish/v1/Systems//Actions/SetPowerConfig' ```

Response Example

200 OK
{
"@odata.type": "#Message.v1_1_1.Message",
"Timestamp": "1785836138",
"MessageId": "Base.1.11.0.Success",
"Message": "The request completed successfully.",
"MessageArgs": [],
"MessageSeverity": "OK",
"Severity": "",
"Oem": null,
"RelatedProperties": null,
"Resolution": "None"
}

Response Fields

FieldTypeDescription
@odata.typestringOData type of the Redfish message resource.
TimestampstringTimestamp recorded by the server when generating the response.
MessageIdstringMessage identifier; Base.1.11.0.Success on success.
MessagestringDescription of the request processing result.
MessageArgsarrayList of message formatting arguments; an empty array in this response.
MessageSeveritystringMessage severity; OK on success.
SeveritystringSeverity field kept for compatibility; an empty string in this response.
Oemobject | nullOEM extension message; null in this response.
RelatedPropertiesarray | nullProperty paths related to the message; null in this response.
ResolutionstringRecommended resolution; None on success.

7 Firewall Management Resources

This section describes the OEM port mapping resources of the BMC. Port mapping supports port redirection, port forwarding, and IP mapping, and provides a connectivity testing operation.

The APIs in this section uniformly use the system identifier `bmc`. The server-side implementation of the port mapping testing operation also rejects non-BMC systems.

7.1 Querying Port Mappings

Queries all port mapping rules currently saved on the BMC, as well as the entry points of the configuration and testing operations.

ItemContent
MethodGET
Path/redfish/v1/Systems/bmc/Oem/Firefly/PortMappings
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Success status code200 OK
Basic Auth Token ```bash title="Query Port Mappings" curl --user ':' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc/Oem/Firefly/PortMappings' ``` ```bash title="Query Port Mappings with a Token" curl --header 'X-Xsrf-Token: ' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc/Oem/Firefly/PortMappings' ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/Oem/Firefly/PortMappings",
"@odata.type": "#PortMappings.v1_9_0.PortMappings",
"Id": "PortMappings",
"Name": "PortMappings",
"Actions": {
"#PortMappings.Configure": {
"target": "/redfish/v1/Systems/bmc/Oem/Firefly/PortMappings/Actions/Configure",
"@Redfish.ActionInfo": "/redfish/v1/Systems/bmc/Oem/Firefly/PortMappings/Actions/ConfigureActionInfo"
},
"#PortMappings.Testing": {
"target": "/redfish/v1/Systems/bmc/Oem/Firefly/PortMappings/Actions/Testing",
"@Redfish.ActionInfo": "/redfish/v1/Systems/bmc/Oem/Firefly/PortMappings/Actions/TestingActionInfo"
}
},
"Oem": {
"Firefly": {
"PortMappings": [
{
"external_ip": "",
"external_port": 88,
"protocol": "tcp",
"internal_ip": "172.168.1.1",
"internal_port": 8080,
"service_name": "hjkjhdkjsahdkjasdhkasjdhas",
"status": true,
"RedirectUrl": ""
},
{
"external_ip": "",
"external_port": 8080,
"protocol": "tcp",
"internal_ip": "172.168.0.10",
"internal_port": 8080,
"service_name": "21",
"status": false,
"RedirectUrl": ""
},
{
"external_ip": "",
"external_port": 1,
"protocol": "tcp",
"internal_ip": "172.168.1.10",
"internal_port": 8080,
"service_name": "2",
"status": false,
"RedirectUrl": ""
}
]
}
}
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the port mapping resource.
@odata.typestringOData type of the port mapping resource.
IdstringResource identifier.
NamestringResource name.
ActionsobjectSet of operations supported by the resource.
Actions.#PortMappings.ConfigureobjectPort mapping configuration operation.
Actions.#PortMappings.Configure.targetstringPOST path of the configuration operation.
Actions.#PortMappings.Configure.@Redfish.ActionInfostringActionInfo path of the configuration operation.
Actions.#PortMappings.TestingobjectPort mapping testing operation.
Actions.#PortMappings.Testing.targetstringPOST path of the testing operation.
Actions.#PortMappings.Testing.@Redfish.ActionInfostringActionInfo path of the testing operation.
OemobjectOEM extension object.
Oem.FireflyobjectFirefly OEM extension object.
Oem.Firefly.PortMappingsarrayList of port mapping rules currently saved.
Oem.Firefly.PortMappings[].external_ipstringExternal IP; may be empty in port mapping or local redirect scenarios.
Oem.Firefly.PortMappings[].external_portintegerExternal port, in the range 0 to 65535.
Oem.Firefly.PortMappings[].protocolstringProtocol type: tcp, udp, or all in IP mapping scenarios.
Oem.Firefly.PortMappings[].internal_ipstringInternal target IP; may be empty in local port redirect scenarios.
Oem.Firefly.PortMappings[].internal_portintegerInternal target port, in the range 0 to 65535.
Oem.Firefly.PortMappings[].service_namestringRule name, which is also the rule identifier.
Oem.Firefly.PortMappings[].statusbooleanWhether the rule is enabled. false means the rule is saved but no forwarding rule is generated.
Oem.Firefly.PortMappings[].RedirectUrlstringOptional redirect URL field. The first letter of the field name is uppercase.

7.2 Querying the Port Mapping Configuration Parameters

Queries the request structure, field types, required status, and protocol allowed values of the configuration operation.

ItemContent
MethodGET
Path/redfish/v1/Systems/bmc/Oem/Firefly/PortMappings/Actions/ConfigureActionInfo
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Success status code200 OK
Basic Auth Token ```bash title="Query the Port Mapping Configuration Parameters" curl --user ':' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc/Oem/Firefly/PortMappings/Actions/ConfigureActionInfo' ``` ```bash title="Query the Port Mapping Configuration Parameters with a Token" curl --header 'X-Xsrf-Token: ' \ --header 'Accept: application/json' \ '://:/redfish/v1/Systems/bmc/Oem/Firefly/PortMappings/Actions/ConfigureActionInfo' ```

Response Example

200 OK
{
"@odata.id": "/redfish/v1/Systems/bmc/Oem/Firefly/PortMappings/Actions/ConfigureActionInfo",
"@odata.type": "#ActionInfo.v1_1_2.ActionInfo",
"Id": "ActionInfo",
"Name": "Action Info",
"Parameters": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": [
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "external_ip",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Number",
"Name": "external_port",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"AllowableValues": ["tcp", "udp", "all"],
"DataType": "String",
"Name": "protocol",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "internal_ip",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Number",
"Name": "internal_port",
"Required": false
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "service_name",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "Boolean",
"Name": "status",
"Required": true
},
{
"DisallowedInput": false,
"AllowablePattern": "",
"DataType": "String",
"Name": "RedirectUrl",
"Required": false
}
],
"DataType": "ObjectArray",
"Name": "PortMappings",
"Required": true
}
]
}

Response Fields

FieldTypeDescription
@odata.idstringPath of the configuration operation ActionInfo resource.
@odata.typestringOData type of the ActionInfo resource.
IdstringActionInfo resource identifier.
NamestringActionInfo resource name.
ParametersarrayList of operation parameter definitions.
Parameters[].DisallowedInputbooleanWhether input is disallowed for the main parameter.
Parameters[].AllowablePatternstringInput pattern allowed for the main parameter.
Parameters[].AllowableValuesarrayList of field definitions for elements of the PortMappings array.
Parameters[].AllowableValues[].DisallowedInputbooleanWhether input is disallowed for the sub-field.
Parameters[].AllowableValues[].AllowablePatternstringInput pattern allowed for the sub-field.
Parameters[].AllowableValues[].AllowableValuesarrayAllowed values for the sub-field; currently only protocol returns tcp, udp, and all.
Parameters[].AllowableValues[].DataTypestringSub-field data type.
Parameters[].AllowableValues[].NamestringSub-field name.
Parameters[].AllowableValues[].RequiredbooleanWhether the sub-field is required.
Parameters[].DataTypestringData type of the main parameter, currently the object array ObjectArray.
Parameters[].NamestringName of the main parameter, currently PortMappings.
Parameters[].RequiredbooleanWhether the main parameter is required.

7.3 Configuring Port Mappings

Replaces the current port mapping configuration of the BMC with the complete PortMappings array in the request.

ItemContent
MethodPOST
Path/redfish/v1/Systems/bmc/Oem/Firefly/PortMappings/Actions/Configure
ActionInfo/redfish/v1/Systems/bmc/Oem/Firefly/PortMappings/Actions/ConfigureActionInfo
AuthenticationHTTP Basic Auth or X-Xsrf-Token
Required privilegeConfigureComponents
Success status code200 OK

Request Parameters

FieldTypeRequiredDescription
PortMappingsarrayYesComplete list of port mapping rules to save. This array replaces the existing list.
PortMappings[].external_ipstringNoExternal IP. An empty string can be passed in port forwarding and port redirect scenarios.
PortMappings[].external_portintegerNoExternal port, in the range 0 to 65535. Use 0 in IP mapping scenarios.
PortMappings[].protocolstringYesProtocol. Port mapping uses tcp or udp; only pure IP mapping can use all.
PortMappings[].internal_ipstringNoInternal target IP. Pass an empty string in local port redirect scenarios.
PortMappings[].internal_portintegerNoInternal target port, in the range 0 to 65535. Use 0 in IP mapping scenarios.
PortMappings[].service_namestringYesNon-empty rule name.
PortMappings[].statusbooleanYesWhether the rule is enabled.
PortMappings[].RedirectUrlstringNoOptional redirect URL. Note that the first letter of the field name is uppercase.
This API does not append a single rule; it replaces the entire port mapping list. Before submitting, query the existing `Oem.Firefly.PortMappings` and include the rules to keep in the request. Submitting an empty array clears all port mapping configuration. Basic Auth Token ```bash title="Configure Port Mappings" curl --user ':' \ --request POST \ --header 'Content-Type: application/json' \ --data '{ "PortMappings": [ { "external_ip": "", "external_port": 8081, "protocol": "tcp", "internal_ip": "192.168.2.10", "internal_port": 22, "service_name": "ssh-forward", "status": true, "RedirectUrl": "" } ] }' \ '://:/redfish/v1/Systems/bmc/Oem/Firefly/PortMappings/Actions/Configure' ``` ```bash title="Configure Port Mappings with a Token" curl --request POST \ --header 'X-Xsrf-Token: ' \ --header 'Content-Type: application/json' \ --data '{ "PortMappings": [ { "external_ip": "", "external_port": 8081, "protocol": "tcp", "internal_ip": "192.168.2.10", "internal_port": 22, "service_name": "ssh-forward", "status": true, "RedirectUrl": "" } ] }' \ '://:/redfish/v1/Systems/bmc/Oem/Firefly/PortMappings/Actions/Configure' ```

Response Example

200 OK
{
"@odata.type": "#Message.v1_1_1.Message",
"Timestamp": "1785836138",
"MessageId": "Base.1.11.0.Success",
"Message": "The request completed successfully.",
"MessageArgs": [],
"MessageSeverity": "OK",
"Severity": "",
"Oem": null,
"RelatedProperties": null,
"Resolution": "None"
}

Response Fields

FieldTypeDescription
@odata.typestringOData type of the Redfish message resource.
TimestampstringTimestamp recorded by the server when generating the response.
MessageIdstringMessage identifier; Base.1.11.0.Success on success.
MessagestringDescription of the request processing result.
MessageArgsarrayList of message formatting arguments; an empty array in this response.
MessageSeveritystringMessage severity; OK on success.
SeveritystringSeverity field kept for compatibility; an empty string in this response.
Oemobject | nullOEM extension message; null in this response.
RelatedPropertiesarray | nullProperty paths related to the message; null in this response.
ResolutionstringRecommended resolution; None on success.