Memory Appliance API Documentation
Version: 0.0.0
Welcome to the Memory Appliance API documentation!
The Memory Appliance provides two complementary APIs for managing memory appliances:
🚀 gRPC API
High-performance bidirectional streaming API using Protocol Buffers.
- Port: 50051
- Protocol: gRPC
- Features: Real-time streaming, efficient binary protocol
🌐 Redfish API
Industry-standard RESTful API implementing DMTF Redfish v1.19.0.
- Port: 8080
- Protocol: HTTP/REST
- Features: Standard compliance, wide tool support
Quick Start
Choose your preferred API and explore the interactive documentation!
API Overview
The Memory Appliance provides comprehensive management capabilities through two complementary APIs.
Architecture
Both APIs operate concurrently and share the same underlying data model, ensuring consistency across protocols.
graph TB
Client1[gRPC Client] -->|Port 50051| GrpcServer[gRPC Server]
Client2[Redfish Client] -->|Port 8080| RedfishServer[Redfish Server]
GrpcServer --> Model[Shared Data Model]
RedfishServer --> Model
Model --> Chassis[Chassis Management]
Model --> Memory[Memory Management]
Model --> Tasks[Task Management]
When to Use Each API
Use gRPC When:
- You need real-time bidirectional streaming
- Performance is critical
- You’re building custom applications
- You want efficient binary protocol
Use Redfish When:
- You need industry-standard compliance
- You’re using existing Redfish tools
- You prefer REST/HTTP
- You need broad ecosystem support
Architecture
System Components
graph LR
A[Clients] --> B[Memory Appliance Service]
B --> C[gRPC Interface]
B --> D[Redfish Interface]
C --> E[Business Logic]
D --> E
E --> F[Data Store]
E --> G[Hardware]
Data Flow
gRPC Bidirectional Streaming
sequenceDiagram
participant Client
participant Server
Client->>Server: Connect (SendCommand stream)
Server->>Client: Connected
Client->>Server: GetTasks command
Server->>Client: TaskCollection response
Client->>Server: Heartbeat
Server->>Client: Heartbeat ack
Note over Client,Server: Stream remains open for real-time updates
Redfish REST Operations
sequenceDiagram
participant Client
participant Redfish API
participant Model
Client->>Redfish API: GET /redfish/v1/Systems/1
Redfish API->>Model: Query system
Model-->>Redfish API: System data
Redfish API-->>Client: 200 OK (JSON)
Getting Started
Installation
# Build the Memory Appliance
cargo build --release
# Run the server
cargo run --bin smartforge
# Run the gRPC client
cargo run --bin grpc_client
Testing the APIs
gRPC Quick Test
# Using the included client
cargo run --bin grpc_client
# Using grpcurl
grpcurl -plaintext localhost:50051 list
Redfish Quick Test
# Get service root
curl http://localhost:8080/redfish/v1/
# Get systems collection
curl http://localhost:8080/redfish/v1/Systems
Next Steps
- Explore gRPC API Documentation
- Explore Redfish API Documentation
- Configure TLS
- Set up Authentication
gRPC API
The Memory Appliance gRPC API provides high-performance bidirectional streaming for real-time memory appliance management.
Features
- Bidirectional Streaming: Send commands and receive responses in real-time
- Protocol Buffers: Efficient binary protocol
- Type Safety: Strongly typed messages
- Code Generation: Client libraries for multiple languages
Service Overview
service MemoryApplianceService {
rpc SendCommand (stream SendCommandRequest) returns (stream CommandResponse);
rpc GetChassis (google.protobuf.Empty) returns (Chassis);
}
Quick Example
use smartforge::generated::memory_appliance::*;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
// Connect to server
let mut client = MemoryApplianceServiceClient::connect(
"http://127.0.0.1:50051"
).await?;
// Get chassis info
let chassis = client.get_chassis(()).await?;
println!("Chassis: {:?}", chassis);
Ok(())
}
See the full API reference for complete details.
gRPC API Reference
Package: memory_appliance
Services
MemoryApplianceService
Service definition for the Memory Appliance.
RPCs
SendCommand
Request: SendCommandRequest (streamed)
Response: CommandResponse (streamed)
GetChassis
Request: (google.protobuf.Empty
Response: (Chassis
Message Types
SendCommandRequest
API to send a command to the memory appliance
Fields:
header(optional MessageHeader)connect(ConnectStream)heartbeat(KeepAliveHeartbeat)reset_intrusion_sensor(ResetIntrusionSensorRequest)set_chassis_properties(SetChassisProperties)identify_chassis(IdentifyChassis)decommission_host(DecommissionHost)set_host_properties(SetComputerSystemProperties)get_tasks(GetTasks)clear_telemetry_metrics(ClearMetricReports)clear_telemetry_data(ClearTelemetryData)collect_telemetry_data(CollectTelemetryData)submit_metric_report(SubmitTestMetricReport)identify_omm(IdentifyOMM)restart_omm(RestartOMM)take_omm_offline(OfflineOMM)initialize_omm(InitializeOMM)set_virtual_pool_properties(SetVirtualPoolProperties)get_capacity_hints(GetCapacityHints)destroy_virtual_pool(DestroyVirtualPool)change_virtual_pool_capacity_or_bandwidth(ChangeVirtualPoolCapacityOrBandwidth)create_virtual_pool(CreateVirtualPool)get_memory_region_list(GetMemoryRegionList)create_maximum_capacity_virtual_pool(CreateMaximumCapacityVirtualPool)set_port_properties(SetPortProperties)enable_lane(EnableLane)disable_lane(DisableLane)train_lane(TrainLane)set_connection_properties(SetConnectionProperties)identify_memory(IdentifyMemory)enable_or_disable_memory(EnableOrDisableMemory)configure_photonic_adapter(ConfigurePhotonicAdapter)identify_photonic_adapter(IdentifyPhotonicAdapter)identify_fan(IdentifyFan)reset_sensor_metrics(ResetSensorMetrics)reset_power_supply(ResetPowerSupply)identify_power_supply(IdentifyPowerSupply)reset_manager_ethernet(ResetManagerEthernet)reset_manager_ethernet_to_factory_defaults(ResetManagerEthernetToFactoryDefaults)
ConnectStream
Fields:
empty_payload(google.protobuf.Empty)
CommandResponse
The main response message for the SendCommand bidirectional stream.
Fields:
message_header(optional ApplianceMessageHeader)heartbeat(KeepAliveHeartbeat)success(SendCommandSuccess)failure(SendCommandFailure)task_update(Task)tasks(TaskCollection)
SendCommandSuccess
Represents a successful outcome of a SendCommand operation.
Fields:
update(ApplianceState)chassis_update(Chassis)software_update_progress(SimpleUpdateProgress)new_ssh_key(NewSSHIdentityPublicKey)omm_update(OpticalMemoryModule)virtual_pool_update(VirtualPool)memory_region_update(MemoryRegion)port_update(Port)photonic_lanes_update(PhotonicLanes)connection_update(Connection)memory(Memory)photonic_adapter(PhotonicAdapter)fan(Fan)sensor(Sensor)power_supply(PowerSupply)ethernet_interface(EthernetInterface)
TaskCollection
Fields:
task(repeated Task)
SendCommandFailure
Represents a failed outcome of a SendCommand operation.
Fields:
reason(FailureReason)error_code(uint32)
Example Usage
#![allow(unused)]
fn main() {
use smartforge::generated::memory_appliance::*;
let mut client = MemoryApplianceServiceClient::connect("http://127.0.0.1:50051").await?;
}
For complete examples, see the grpc_client binary in src/bin/grpc_client.rs.
gRPC Model Reference
This section provides detailed documentation for the Protocol Buffer messages used in the gRPC API.
Sub-pages
- Message Headers - MessageHeader and ApplianceMessageHeader definitions
- Chassis Messages - Chassis and SetChassisProperties messages
- Enums - All enumeration types used in the API
Message Headers
This page documents the message headers used for client-server communication.
MessageHeader
Used for requests from the client to the server. The sequence number tracks the number of messages sent on this connection since it was established.
MessageHeader
Message header definition
Fields:
| Field | Type | Label | Description |
|---|---|---|---|
sequence_number | uint64 | optional | Sequence number of the message since midnight UTC |
correlation_id | string | optional | Correlation ID for tracking by client |
part_number | uint32 | optional | Part number for multi-part message |
total_parts | uint32 | optional | Total number of parts in the multi-part message |
sent_timestamp | int64 | optional | Time the message was sent in UTC (linux milliseconds since epoch) |
sender | string | optional | Sender identifier |
ApplianceMessageHeader
Used for responses from the server to the client. The sequence number tracks the number of messages sent since midnight UTC.
ApplianceMessageHeader
Message header definition
Fields:
| Field | Type | Label | Description |
|---|---|---|---|
sequence_number | uint64 | optional | Sequence number of the message since midnight UTC |
correlation_id | string | optional | Correlation ID for tracking by client |
part_number | uint32 | optional | Part number for multi-part message |
total_parts | uint32 | optional | Total number of parts in the multi-part message |
sent_timestamp | int64 | optional | Time the message was sent in UTC (linux milliseconds since epoch) |
sender | string | optional | Sender identifier |
Chassis Messages
This page documents the Chassis-related Protocol Buffer messages.
Chassis
Fields:
| Field | Type | Label | Description |
|---|---|---|---|
friendly_name | string | optional | user defined name for the appliance |
asset_tag | string | optional | user defined asset tag for the memory appliance |
description | string | optional | user defined description of the appliance |
indicator_led | IdentifyLEDState | optional | the state of the indicator LED |
identify_blink_timeout_in_seconds | uint32 | optional | the timeout for the identify LED blink in seconds |
location_info | string | optional | user defined physical location description for the appliance |
location_rack | string | optional | user defined rack where the appliance is located |
location_rack_offset | string | optional | user defined slot in the rack where the appliance is located |
model | string | optional | the model of the appliance |
intrusion_sensor_tripped | bool | optional | alerts that the chassis has been opened |
power_state | PowerState | optional | indicates whether the appliance is on, off, starting, or stopping |
network_adapters | NetworkAdapter | repeated | network adapters collection |
sensors | SensorGroup | repeated | collection of thermal and intrusion sensors |
serial_number | string | optional | serial number for OMA |
appliance_state | State | optional | state of the appliance |
appliance_health | Health | optional | health of the appliance |
UUID | string | optional | global unique id for appliance |
version | string | optional | the version of the chassis design |
weight_kg | float | optional | the weight of the appliance |
width_mm | float | optional | the width of the appliance |
depth_mm | float | optional | the depth of the appliance |
height_mm | float | optional | the height of the appliance |
host_adapter_cards | PhotonicAdapter | repeated | collection of connected or previously connected host adapter cards |
ports | Port | repeated | collection of ports plumbed from front panel through to OMMS |
omms | OpticalMemoryModule | repeated | collection of connected OMMs |
health_rollup | Health | optional | represents health from underlying elements |
fans | FanRedundancyGroup | optional | collection of fans in the enclosure organized by redundancy. |
thermal_subsystem_health_rollup | Health | optional | fan and thermal sensor health rollup |
filters | Filter | repeated | collection of filters in the enclosure |
power_subsystem_allocated_watts | double | optional | total budgeted system power_in_watts |
power_subsystem_requested_watts | double | optional | requested total system power |
power_subsystem_allocation | double | optional | actual total system power used |
power_subsystem_capacity_watts | double | optional | actual total system power capacity based on installed power supplies |
power_supply_redundancy_group | PowerSupplyRedundancyGroup | optional |
SetChassisProperties
Fields:
| Field | Type | Label | Description |
|---|---|---|---|
friendly_name | string | optional | user defined name for the appliance |
asset_tag | string | optional | user defined asset tag for the memory appliance |
description | string | optional | user defined description of the appliance |
location_info | string | optional | user defined physical location description for the appliance |
location_rack | string | optional | user defined rack where the appliance is located |
location_rack_offset | string | optional | user defined slot in the rack where the appliance is located |
identify_blink_timeout_in_seconds | uint32 | optional | timeout for the identify LED blink in seconds |
Enumerations
This page documents all enumeration types used in the gRPC API.
Health (enum)
Values:
| Name | Value |
|---|---|
HEALTH_UNSPECIFIED | 0 |
HEALTH_HEALTHY | 1 |
HEALTH_UNHEALTHY | 2 |
HEALTH_DEGRADED | 3 |
HEALTH_CRITICAL | 4 |
State (enum)
Values:
| Name | Value |
|---|---|
STATE_UNSPECIFIED | 0 |
STATE_OUT_OF_BOX | 1 |
STATE_STARTUP | 2 |
STATE_RUNNING | 3 |
STATE_SHUTDOWN | 4 |
STATE_FAILED | 5 |
Status (enum)
Values:
| Name | Value |
|---|---|
STATUS_UNSPECIFIED | 0 |
STATUS_ENABLED | 1 |
STATUS_DISABLED | 2 |
STATUS_ABSENT | 3 |
STATUS_INTEST | 4 |
STATUS_QUIESCED | 5 |
STATUS_STANDBY_OFFLINE | 6 |
STATUS_STANDBY_SPARE | 7 |
IdentifyLEDState (enum)
Values:
| Name | Value |
|---|---|
IDENTIFY_LED_STATE_UNSPECIFIED | 0 |
IDENTIFY_LED_STATE_OFF | 1 |
IDENTIFY_LED_STATE_ON | 2 |
IDENTIFY_LED_STATE_BLINKING | 3 |
PowerState (enum)
Values:
| Name | Value |
|---|---|
POWER_STATE_UNSPECIFIED | 0 |
POWER_STATE_ON | 1 |
POWER_STATE_OFF | 2 |
POWER_STATE_POWERING_ON | 3 |
POWER_STATE_POWERING_OFF | 4 |
PowerSupplyType (enum)
Values:
| Name | Value |
|---|---|
POWER_SUPPLY_TYPE_UNSPECIFIED | 0 |
POWER_SUPPLY_TYPE_AC | 1 |
POWER_SUPPLY_TYPE_DC | 2 |
POWER_SUPPLY_TYPE_AC_OR_DC | 3 |
POWER_SUPPLY_TYPE_DC_REGULATOR | 4 |
PhaseWiringType (enum)
Values:
| Name | Value |
|---|---|
PHASE_WIRING_TYPE_UNSPECIFIED | 0 |
PHASE_WIRING_TYPE_ONE_PHASE_THREE_WIRE | 1 |
PHASE_WIRING_TYPE_TWO_PHASE_THREE_WIRE | 2 |
PHASE_WIRING_TYPE_ONE_OR_TWO_PHASE_THREE_WIRE | 3 |
PHASE_WIRING_TYPE_TWO_PHASE_FOUR_WIRE | 4 |
PHASE_WIRING_TYPE_THREE_PHASE_FOUR_WIRE | 5 |
PHASE_WIRING_TYPE_THREE_PHASE_FIVE_WIRE | 6 |
NominalVoltageType (enum)
Values:
| Name | Value |
|---|---|
INPUT_RANGE_NOMINAL_VOLTAGE_TYPE_UNSPECIFIED | 0 |
INPUT_RANGE_NOMINAL_VOLTAGE_TYPE_AC100TO127V | 1 |
INPUT_RANGE_NOMINAL_VOLTAGE_TYPE_AC100TO40V | 2 |
INPUT_RANGE_NOMINAL_VOLTAGE_TYPE_AC100TO277V | 3 |
INPUT_RANGE_NOMINAL_VOLTAGE_TYPE_AC120V | 4 |
INPUT_RANGE_NOMINAL_VOLTAGE_TYPE_AC200TO240V | 5 |
INPUT_RANGE_NOMINAL_VOLTAGE_TYPE_AC200TO277V | 6 |
INPUT_RANGE_NOMINAL_VOLTAGE_TYPE_AC208V | 7 |
INPUT_RANGE_NOMINAL_VOLTAGE_TYPE_AC230V | 8 |
INPUT_RANGE_NOMINAL_VOLTAGE_TYPE_AC240V | 9 |
INPUT_RANGE_NOMINAL_VOLTAGE_TYPE_AC240ANDDC380V | 10 |
INPUT_RANGE_NOMINAL_VOLTAGE_TYPE_AC277V | 11 |
INPUT_RANGE_NOMINAL_VOLTAGE_TYPE_AC277ANDDC380V | 12 |
INPUT_RANGE_NOMINAL_VOLTAGE_TYPE_AC400V | 13 |
INPUT_RANGE_NOMINAL_VOLTAGE_TYPE_AC480V | 14 |
INPUT_RANGE_NOMINAL_VOLTAGE_TYPE_DC48V | 15 |
INPUT_RANGE_NOMINAL_VOLTAGE_TYPE_DC240V | 16 |
INPUT_RANGE_NOMINAL_VOLTAGE_TYPE_DC380V | 17 |
INPUT_RANGE_NOMINAL_VOLTAGE_TYPE_DCNEG48V | 18 |
INPUT_RANGE_NOMINAL_VOLTAGE_TYPE_DC16V | 19 |
INPUT_RANGE_NOMINAL_VOLTAGE_TYPE_DC12V | 20 |
INPUT_RANGE_NOMINAL_VOLTAGE_TYPE_DC9V | 21 |
INPUT_RANGE_NOMINAL_VOLTAGE_TYPE_DC5V | 22 |
INPUT_RANGE_NOMINAL_VOLTAGE_TYPE_DC3_3V | 23 |
INPUT_RANGE_NOMINAL_VOLTAGE_TYPE_DC1_8V | 24 |
PlugType (enum)
Values:
| Name | Value |
|---|---|
PLUG_TYPE_UNSPECIFIED | 0 |
PLUG_TYPE_NEMA_5_15P | 1 |
PLUG_TYPE_NEMA_L5_15P | 2 |
PLUG_TYPE_NEMA_5_20P | 3 |
PLUG_TYPE_NEMA_L5_20P | 4 |
PLUG_TYPE_NEMA_L5_30P | 5 |
PLUG_TYPE_NEMA_6_15P | 6 |
PLUG_TYPE_NEMA_L6_15P | 7 |
PLUG_TYPE_NEMA_6_20P | 8 |
PLUG_TYPE_NEMA_L6_20P | 9 |
PLUG_TYPE_NEMA_L6_30P | 10 |
PLUG_TYPE_NEMA_L14_20P | 11 |
PLUG_TYPE_NEMA_L14_30P | 12 |
PLUG_TYPE_NEMA_L15_20P | 13 |
PLUG_TYPE_NEMA_L15_30P | 14 |
PLUG_TYPE_NEMA_L21_20P | 15 |
PLUG_TYPE_NEMA_L21_30P | 16 |
PLUG_TYPE_NEMA_L22_20P | 17 |
PLUG_TYPE_NEMA_L22_30P | 18 |
PLUG_TYPE_California_CS8265 | 19 |
PLUG_TYPE_California_CS8365 | 20 |
PLUG_TYPE_IEC_60320_C14 | 21 |
PLUG_TYPE_IEC_60320_C20 | 22 |
PLUG_TYPE_IEC_60309_316P6 | 23 |
PLUG_TYPE_IEC_60309_332P6 | 24 |
PLUG_TYPE_IEC_60309_363P6 | 25 |
PLUG_TYPE_IEC_60309_516P6 | 26 |
PLUG_TYPE_IEC_60309_532P6 | 27 |
PLUG_TYPE_IEC_60309_563P6 | 28 |
PLUG_TYPE_IEC_60309_460P9 | 29 |
PLUG_TYPE_IEC_60309_560P9 | 30 |
PLUG_TYPE_Field_208V_3P4W_60A | 31 |
PLUG_TYPE_Field_400V_3P5W_3 | 32 |
gRPC Examples
Establishing a Connection
#![allow(unused)]
fn main() {
use smartforge::generated::memory_appliance::*;
let mut client = MemoryApplianceServiceClient::connect(
"http://127.0.0.1:50051"
).await?;
}
Getting Chassis Information
#![allow(unused)]
fn main() {
let chassis = client.get_chassis(()).await?;
println!("Serial: {:?}", chassis.serial_number);
println!("Model: {:?}", chassis.model);
}
Bidirectional Streaming
#![allow(unused)]
fn main() {
let (tx, rx) = tokio::sync::mpsc::channel(32);
let stream = tokio_stream::wrappers::ReceiverStream::new(rx);
let response = client.send_command(stream).await?;
let mut inbound = response.into_inner();
// Send a command
tx.send(SendCommandRequest {
header: Some(MessageHeader {
sequence_number: Some(1),
correlation_id: Some("req-1".to_string()),
sent_timestamp: Some(100),
sender: Some("client".to_string()),
}),
command_type: Some(send_command_request::CommandType::GetTasks(
GetTasks { empty_payload: None }
)),
}).await?;
// Receive responses
while let Some(response) = inbound.message().await? {
println!("Response: {:?}", response);
}
}
Error Handling
#![allow(unused)]
fn main() {
match client.get_chassis(()).await {
Ok(chassis) => println!("Success: {:?}", chassis),
Err(e) => eprintln!("Error: {}", e),
}
}
gRPC Sequence Diagrams
Connection Establishment
sequenceDiagram
participant C as Client
participant S as Server
C->>S: Connect to :50051
S-->>C: Connection established
C->>S: GetChassis()
S-->>C: Chassis data
Note over C,S: Connection ready for streaming
Bidirectional Streaming Flow
sequenceDiagram
participant C as Client
participant S as Server
C->>S: Open SendCommand stream
S-->>C: Stream ready
C->>S: SendCommandRequest (Connect)
S-->>C: CommandResponse (Success)
C->>S: SendCommandRequest (GetTasks)
S-->>C: CommandResponse (TaskCollection)
C->>S: SendCommandRequest (Heartbeat)
S-->>C: CommandResponse (Heartbeat)
Note over C,S: Stream remains open
C->>S: Close stream
S-->>C: Stream closed
Command Processing
flowchart TD
A[Client Sends Command] --> B{Validate Request}
B -->|Valid| C[Process Command]
B -->|Invalid| D[Return Failure]
C --> E{Command Type}
E -->|GetTasks| F[Retrieve Tasks]
E -->|SetProperties| G[Update Properties]
E -->|Heartbeat| H[Acknowledge]
F --> I[Return Success]
G --> I
H --> I
I --> J[Send Response to Client]
D --> J
Error Handling Flow
flowchart TD
A[Receive Command] --> B{Authentication}
B -->|Fail| C[Return PERMISSION_DENIED]
B -->|Pass| D{Parse Command}
D -->|Fail| E[Return INVALID_REQUEST]
D -->|Pass| F{Execute}
F -->|Error| G[Return INTERNAL_ERROR]
F -->|Timeout| H[Return TIMEOUT]
F -->|Success| I[Return SUCCESS]
Redfish API
SmartForge implements the DMTF Redfish specification v1.19.0 for industry-standard RESTful manageability.
Features
- DMTF Standard: Full Redfish compliance
- RESTful: Standard HTTP methods
- JSON: Human-readable responses
- Tool Support: Works with existing Redfish tools
Base URL
http://localhost:8080/redfish/v1
Quick Example
# Get service root
curl http://localhost:8080/redfish/v1/
# Get system information
curl http://localhost:8080/redfish/v1/Systems/1
# Power on system
curl -X POST http://localhost:8080/redfish/v1/Systems/1/Actions/ComputerSystem.Reset \
-H "Content-Type: application/json" \
-d '{"ResetType": "On"}'
See the full API reference for complete details.
Redfish API Reference
Overview
SmartForge implements the DMTF Redfish specification v1.19.0 for industry-standard RESTful manageability.
Base URL
http://localhost:8080/redfish/v1
Interactive API Documentation
Available Resources
- ServiceRoot:
/redfish/v1 - Systems:
/redfish/v1/Systems/{id} - Chassis:
/redfish/v1/Chassis/{id} - Managers:
/redfish/v1/Managers/{id} - Sessions:
/redfish/v1/SessionService - Accounts:
/redfish/v1/AccountService - Tasks:
/redfish/v1/TaskService - Events:
/redfish/v1/EventService - Updates:
/redfish/v1/UpdateService
Quick Examples
Get Service Root
curl http://localhost:8080/redfish/v1/
Get System Information
curl http://localhost:8080/redfish/v1/Systems/1
Power On System
curl -X POST http://localhost:8080/redfish/v1/Systems/1/Actions/ComputerSystem.Reset \
-H "Content-Type: application/json" \
-d '{"ResetType": "On"}'
Redfish Models
This section provides detailed documentation for the Redfish JSON schema models used in the API.
Contents
- AccountsService - Account service management
- Certificate - Certificate management
- Chassis - Physical chassis information
- ComputerSystem - Computer system representation
- Connection - Connection management
- CXLLogicalDevice - CXL logical device
- Endpoint - Endpoint management
- EthernetInterface - Ethernet interface configuration
- Event - Event service
- FabricAdapter - Fabric adapter information
- Fan - Fan monitoring
- Manager - Management controller
- ManagerAccount - Manager account
- Memory - Memory module information
- MemoryChunks - Memory chunk management
- MemoryDomain - Memory domain configuration
- OutboundConnection - Outbound connection management
- PCIeDevice - PCIe device information
- Port - Port management
- PowerSubsystem - Power subsystem monitoring
- PowerSupply - Power supply information
- Processor - Processor information
- Sensor - Sensor monitoring
- ServiceRoot - Redfish service root
- Session - Session management
- Task - Task management
- TaskService - Task service
- TelemetryService - Telemetry service
- ThermalSubsystem - Thermal subsystem monitoring
- UpdateService - Firmware update service
AccountsService
Description
This resource shall represent an account service for a Redfish implementation. The properties are common to, and enable management of, all user accounts. The properties include the password requirements and control features, such as account lockout. Properties and actions in this service specify general behavior that should be followed for typical accounts, however implementations may override these behaviors for special accounts or situations to avoid denial of service or other deadlock situations.
Fields
| Field | Type | Description |
|---|---|---|
@odata.context | string | The OData description of a payload. |
@odata.etag | string | The current ETag of the resource. |
@odata.id | string | The unique identifier for a resource. |
@odata.type | string | The type of a resource. |
AccountLockoutCounterResetAfter | integer | This property shall contain the period of time, in seconds, since the last failed login attempt when the AccountLockoutThreshold counter, which counts the number of failed login attempts, is reset to 0. Then, AccountLockoutThreshold failures are required before the account is locked. This value shall be less than or equal to the AccountLockoutDuration value. A reset sets the counter to 0. |
AccountLockoutCounterResetEnabled | boolean | This property shall indicate whether the threshold counter is reset after AccountLockoutCounterResetAfter expires. If true, it is reset. If false, only a successful login resets the threshold counter and if the user reaches the AccountLockoutThreshold limit, the account shall be locked out indefinitely and only an administrator-issued reset clears the threshold counter. If this property is absent, the default is true. |
AccountLockoutDuration | integer | This property shall contain the period of time, in seconds, that an account is locked after the number of failed login attempts reaches the account lockout threshold, within the period between the last failed login attempt and the reset of the lockout threshold counter. This value shall be greater than or equal to the AccountLockoutCounterResetAfter value. If 0, no lockout will occur. If this property is not supported by the service, the client shall not expect any value in this property to have an effect on the behavior of the service. |
AccountLockoutThreshold | integer | This property shall contain the threshold of failed login attempts before a user account is locked for a specified duration. If 0, the account shall never be locked as a result of failed login attempts. |
Accounts | AccountCollection | This property shall contain a link to a resource collection of type ManagerAccountCollection. |
ActiveDirectory | ExternalAccountProvider | This property shall contain the first Active Directory external account provider that this account service supports. |
AdditionalExternalAccountProviders | ExternalAccountProviderCollection | This property shall contain a link to a resource collection of type ExternalAccountProviderCollection that represents the additional external account providers that this account service uses. |
Description | string | The description of this resource. Used for commonality in the schema definitions. |
Id | string | The unique identifier for this resource within the collection of similar resources. |
LDAP | ExternalAccountProvider | This property shall contain the first LDAP external account provider that this account service supports. |
LocalAccountAuth | string | This property shall govern how the service uses the accounts collection within this account service as part of authentication. |
MaxPasswordLength | integer | This property shall contain the maximum password length that the implementation allows for this account service. This property does not apply to accounts from external account providers. |
MinPasswordLength | integer | This property shall contain the minimum password length that the implementation allows for this account service. This property does not apply to accounts from external account providers. |
Name | string | The name of the resource or array member. |
OAuth2 | ExternalAccountProvider | This property shall contain the first OAuth 2.0 external account provider that this account service supports. |
Oem | object | The OEM extension property. |
PasswordExpirationDays | integer | This property shall contain the number of days after which a password expires. The value shall be null if the password never expires. This property does not apply to accounts from external account providers. |
PrivilegeMap | PrivilegeRegistry | This property shall contain a link to a resource of type PrivilegeRegistry that represents the privilege mappings for this service. |
Roles | RoleCollection | This property shall contain a link to a resource collection of type RoleCollection. |
ServiceEnabled | boolean | This property shall indicate whether the account service is enabled. If true, it is enabled. If false, it is disabled and users cannot be created, deleted, or modified, and new sessions cannot be started. However, established sessions might still continue to run. Any service, such as the session service, that attempts to access the disabled account service fails. However, this does not affect HTTP Basic Authentication connections. |
Status | Status | This property shall contain any status or health properties of the resource. |
SupportedAccountTypes | array | This property shall contain an array of the account types supported by this account service. |
SupportedOEMAccountTypes | array | This property shall contain an array of the OEM account types supported by this account service. |
TACACSplus | ExternalAccountProvider | This property shall contain the first TACACS+ external account provider that this account service supports. |
Certificate
Description
This resource shall represent a certificate for a Redfish implementation.
Fields
| Field | Type | Description |
|---|---|---|
CertificateString | string | This property shall contain the certificate, and the format shall follow the requirements specified by the `CertificateType` property value. If the certificate contains any private keys, they shall be removed from the string in responses. If the service does not know the private key for the certificate and is needed to use the certificate, the client shall provide the private key as part of the string in the `POST` request. For additional property requirements, see the corresponding definition in the Redfish Data Model Specification. |
CertificateType | CertificateType | This property shall contain the format type for the certificate. For additional property requirements, see the corresponding definition in the Redfish Data Model Specification. |
CertificateUsageTypes | array | The value of this property shall contain an array describing the types or purposes for this certificate. |
Description | Description | |
Fingerprint | string | The value of this property shall be a string containing the ASCII representation of the fingerprint of the certificate. The hash algorithm used to generate this fingerprint shall be specified by the `FingerprintHashAlgorithm` property. |
FingerprintHashAlgorithm | string | The value of this property shall be a string containing the hash algorithm used for generating the `Fingerprint` property. The value shall be one of the strings in the ‘Algorithm Name’ field of the ‘TPM_ALG_ID Constants’ table within the ‘Trusted Computing Group Algorithm Registry’. |
Id | Id | |
Issuer | Identifier | This property shall contain an object containing information about the issuer of the certificate. |
KeyUsage | array | This property shall contain the key usage extension, which defines the purpose of the public keys in this certificate. |
Links | Links | This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource. |
Name | Name | |
Oem | Oem | This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. |
Password | string | This property shall contain the password for the certificate contained in the `CertificateString` property. This property shall be required in create requests if the `CertificateType` property contains `PKCS12` and the client-provided certificate is password protected. This property shall not be present in responses. |
SerialNumber | string | The value of this property shall be a string containing the ASCII representation of the serial number of the certificate, as defined by the RFC5280 ‘serialNumber’ field. |
SignatureAlgorithm | string | The value of this property shall be a string containing the algorithm used for generating the signature of the certificate, as defined by the RFC5280 ‘signatureAlgorithm’ field. The value shall be a string representing the ASN.1 OID of the signature algorithm as defined in, but not limited to, RFC3279, RFC4055, or RFC4491. |
SPDM | SPDM | The value of this property shall contain SPDM-related information for the certificate. This property shall only be present for SPDM certificates. |
Status | Status | This property shall contain any status or health properties of the resource. |
Subject | Identifier | This property shall contain an object containing information about the subject of the certificate. |
UefiSignatureOwner | string | The value of this property shall contain the GUID of the UEFI signature owner for this certificate as defined by the UEFI Specification. This property shall only be present for certificates managed by UEFI. |
ValidNotAfter | string | This property shall contain the date when the certificate validity period ends. |
ValidNotBefore | string | This property shall contain the date when the certificate validity period begins. |
Chassis
Description
This resource shall represent a chassis or other physical enclosure for a Redfish implementation. It also represent a location, such as a slot, socket, or bay, where a unit may be installed.
Fields
| Field | Type | Description |
|---|---|---|
AssetTag | string | This property shall contain an identifying string that tracks the chassis for inventory purposes. Modifying this property may modify the `AssetTag` in the resource that represents the functional view of this chassis, such as a `ComputerSystem` resource. |
ChassisType | ChassisType | This property shall indicate the physical form factor for the type of chassis. |
DepthMm | number | This property shall represent the depth (length) of the chassis, in millimeter units, as specified by the manufacturer. |
Description | Description | |
EnvironmentalClass | EnvironmentalClass | This property shall contain the ASHRAE Environmental Class for this chassis, as defined by ASHRAE Thermal Guidelines for Data Processing Environments. These classes define respective environmental limits that include temperature, relative humidity, dew point, and maximum allowable elevation. |
EnvironmentMetrics | EnvironmentMetrics | This property shall contain a link to a resource of type `EnvironmentMetrics` that specifies the environment metrics for this chassis, all containing chassis, and devices contained by any of these chassis instances. When determining power and energy readings, care should be taken to ensure any reported values do not overlap or result in double-counting. |
FabricAdapters | FabricAdapterCollection | This property shall contain a link to a resource collection of type `FabricAdapterCollection` that represents fabric adapters in this chassis that provide access to fabric-related resource pools. |
HeatingCoolingEquipmentNames | array | This property shall contain an array of strings that identify the external heating or cooling equipment, such as the names of specific coolant distribution units, that provide thermal management for this chassis. |
HeatingCoolingManagerURIs | array | This property shall contain an array of URIs to the management applications or devices that provide monitoring or control of the external heating or cooling equipment that provide thermal management for this chassis. |
HeightMm | number | This property shall represent the height of the chassis, in millimeter units, as specified by the manufacturer. |
Id | Id | |
IndicatorLED | IndicatorLED | This property shall contain the indicator light state for the indicator light associated with this system. |
LeakDetectors | LeakDetectorCollection | This property shall contain a link to a resource collection of type `LeakDetectorCollection`. |
Links | Links | This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource. |
Location | Location | This property shall contain the location information of the associated chassis. |
LogServices | LogServiceCollection | This property shall contain a link to a resource collection of type `LogServiceCollection`. |
Manufacturer | string | This property shall contain the name of the organization responsible for producing the chassis. This organization may be the entity from whom the chassis is purchased, but this is not necessarily true. |
MaxPowerWatts | number | This property shall contain the upper bound of the total power consumed by the chassis. |
Memory | MemoryCollection | This property shall contain a link to a resource collection of type `MemoryCollection` that represents memory in this chassis that belong to fabric-related resource pools. |
MemoryDomains | MemoryDomainCollection | This property shall contain a link to a resource collection of type `MemoryDomainCollection` that represents memory domains in this chassis that belong to fabric-related resource pools. |
MinPowerWatts | number | This property shall contain the lower bound of the total power consumed by the chassis. |
Model | string | This property shall contain the name by which the manufacturer generally refers to the chassis. |
Name | Name | |
NetworkAdapters | NetworkAdapterCollection | This property shall contain a link to a resource collection of type `NetworkAdapterCollection`. |
Oem | Oem | This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. |
PartNumber | string | This property shall contain a part number assigned by the organization that is responsible for producing or manufacturing the chassis. |
PCIeDevices | PCIeDeviceCollection | This property shall contain a link to a resource collection of type `PCIeDeviceCollection`. |
PhysicalSecurity | PhysicalSecurity | This property shall contain the physical security state of the chassis. Services may construct this state from multiple physical sensors. |
PowerState | string | This property shall contain the power state of the chassis. |
PowerSubsystem | PowerSubsystem | This property shall contain a link to a resource of type `PowerSubsystem` that represents the power subsystem information for this chassis. |
Sensors | SensorCollection | This property shall contain a link to a resource collection of type `SensorCollection` that contains the sensors located in the chassis and sub-components. |
SerialNumber | string | This property shall contain a manufacturer-allocated number that identifies the chassis. |
SKU | string | This property shall contain the stock-keeping unit number for this chassis. |
Status | Status | This property shall contain any status or health properties of the resource. |
ThermalSubsystem | ThermalSubsystem | This property shall contain a link to a resource of type `ThermalSubsystem` that represents the thermal subsystem information for this chassis. |
TrustedComponents | TrustedComponentCollection | This property shall contain a link to a resource collection of type `TrustedComponentCollection`. |
UUID | UUID | This property shall contain the universally unique identifier number for this chassis. |
Version | string | This property shall contain the hardware version of this chassis as determined by the vendor or supplier. |
WeightKg | number | This property shall represent the published mass, commonly referred to as weight, of the chassis, in kilogram units. |
WidthMm | number | This property shall represent the width of the chassis, in millimeter units, as specified by the manufacturer. |
ComputerSystem
Description
This resource shall represent a computer system in the Redfish Specification. A computer system represents a machine (physical or virtual) and the local resources, such as memory, CPU, and other devices that can be accessed from that machine.
Fields
| Field | Type | Description |
|---|---|---|
@odata.context | string | The OData description of a payload. |
@odata.etag | string | The current ETag of the resource. |
@odata.id | string | The unique identifier for a resource. |
@odata.type | string | The type of a resource. |
AssetTag | string | This property shall contain the system asset tag value. Modifying this property may modify the AssetTag in the containing Chassis resource. |
BiosVersion | string | This property shall contain the version string of the currently installed and running BIOS for x86 systems. For other systems, this property may contain a version string that represents the primary system firmware. |
Boot | Boot | This property shall contain properties that describe boot information for the system. For UEFI systems, this object shall contain UEFI boot settings. |
Description | string | The description of this resource. Used for commonality in the schema definitions. |
HostName | string | This property shall contain the DNS host name for this system, without any domain information. |
Id | string | The unique identifier for this resource within the collection of similar resources. |
IndicatorLED | string | This property shall contain the indicator light state for the indicator light associated with this system. |
Links | Links | This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource. |
Manufacturer | string | This property shall contain the name of the organization responsible for producing the system. This organization may be the entity from whom the system is purchased, but this is not necessarily true. |
Memory | MemoryCollection | This property shall contain a link to a resource collection of type MemoryCollection. |
MemoryDomains | MemoryDomainCollection | This property shall contain a link to a resource collection of type MemoryDomainCollection. |
MemorySummary | MemorySummary | This property shall contain properties that describe the central memory for this resource. |
Model | string | This property shall contain the product name for this system, without the manufacturer name. |
Name | string | The name of the resource or array member. |
Oem | object | The OEM extension property. |
PartNumber | string | This property shall contain the manufacturer-provided part number for the system. |
PowerState | string | This property shall contain the power state of the system. |
ProcessorSummary | ProcessorSummary | This property shall contain properties that describe the central processors for this resource. Processors described by the Processors link property shall not be included in the summary. |
Processors | ProcessorCollection | This property shall contain a link to a resource collection of type ProcessorCollection. |
SerialNumber | string | This property shall contain the serial number for this system. |
SKU | string | This property shall contain the SKU number for this system. |
Status | Status | This property shall contain any status or health properties of the resource. |
SubModel | string | This property shall contain the sub-model information as provided by the manufacturer for this system. |
SystemType | string | This property shall contain the type of computer system that this resource represents. |
UUID | string | This property shall contain the universally unique identifier number for this system. |
Connection
Description
This resource shall represent information about a connection in the Redfish Specification.
Fields
| Field | Type | Description |
|---|---|---|
ConnectionType | ConnectionType | This property shall contain the type of resources this connection specifies. |
Description | Description | |
Id | Id | |
Links | Links | This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource. |
MemoryChunkInfo | array | This property shall contain the set of memory chunks and access capabilities specified for this connection. |
MemoryRegionInfo | array | This property shall contain the set of memory regions and access capabilities specified for this connection. |
Name | Name | |
Oem | Oem | This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. |
Status | Status | This property shall contain any status or health properties of the resource. |
VolumeInfo | array | This property shall contain the set of volumes and access capabilities specified for this connection. |
CXLLogicalDevice
Description
This resource shall represent a CXL logical device that is a part of a PCIe device.
Fields
| Field | Type | Description |
|---|---|---|
Description | Description | |
Id | Id | |
Identifiers | array | This property shall contain a list of all known durable names for the associated CXL logical device. |
Links | Links | This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource. |
Log | LogService | This property shall contain a link to a resource of type `LogService`. |
MemoryRegions | MemoryRegionCollection | This property shall contain a link to a resource collection of type `MemoryRegionCollection` that represents the memory regions associated with this CXL logical device. |
MemorySizeMiB | integer | This property shall contain the total memory capacity currently available in this CXL logical device in mebibytes (MiB). This value shall equate to the sum of the dynamic capacity extents and the static capacity assigned to this logical device. |
Name | Name | |
Oem | Oem | This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. |
QoS | QoS | This property shall contain the quality of service configuration for this CXL logical device. |
QoSTelemetryCapabilities | QoSTelemetryCapabilities | This property shall contain the quality of service telemetry capabilities for this CXL logical device. |
SemanticsSupported | array | This property shall contain the CXL Specification-defined semantics that are supported by this CXL logical device. |
Status | Status | This property shall contain any status or health properties of the resource. |
Endpoint
Description
This resource contains a fabric endpoint for a Redfish implementation.
Fields
| Field | Type | Description |
|---|---|---|
ConnectedEntities | array | This property shall contain all entities to which this endpoint allows access. |
Id | Id |
EthernetInterface
Description
This resource contains NIC resources as part of the Redfish Specification.
Fields
| Field | Type | Description |
|---|---|---|
Description | Description | |
DHCPv4 | DHCPv4Configuration | This property shall contain the configuration of DHCP v4. |
DHCPv6 | DHCPv6Configuration | This property shall contain the configuration of DHCP v6. |
FQDN | string | This property shall contain the fully qualified domain name that DNS obtains for this interface. |
FullDuplex | boolean | This property shall indicate whether full-duplex mode is enabled on the Ethernet connection for this interface. |
HostName | string | This property shall contain the DNS host name for this interface. Modifying this property may modify the `HostName` in one or more `EthernetInterface` resources that belong to the same system, manager, or other device. If this interface is subordinate to a `ComputerSystem` resource, modifying this property may modify the `HostName` of the `ComputerSystem` resource that contains this interface. If this interface is subordinate to a `Manager` resource, modifying this property may modify the `HostName` of the `ManagerNetworkProtocol` resource of the `Manager` resource that contains this interface. Services should ignore this property in modification requests if `FQDN` is also provided in the same request. |
Id | Id | |
IPv4Addresses | array | This property shall contain an array of objects that represent the IPv4 connection characteristics currently in use by this interface for any value of `AddressOrigin`. It is recommended that this property be regarded as read-only with configuration of static addresses performed by updating the values within `IPv4StaticAddresses`. Services may reject updates to this array for this reason. This property should contain an empty array if there are no active IPv4 addresses. |
IPv4StaticAddresses | array | This property shall contain an array of objects that represent all IPv4 static addresses assigned to, but not necessarily in use by, this interface. The `IPv4Addresses` property shall also list the addresses that this interface uses. Services should represent static addresses that are not configured as `null` values, as described by the ‘PATCH on array properties’ clause of the Redfish Specification. Services should not represent static addresses that are not configured as invalid IP addresses, such as `0.0.0.0`. |
IPv6Addresses | array | This property shall contain an array of objects that represent the IPv6 connection characteristics for this interface for any value of `AddressOrigin`. This property should contain an empty array if there are no active IPv6 addresses. |
IPv6AddressPolicyTable | array | This property shall contain an array of objects that represent the RFC6724-defined address selection policy table. |
IPv6DefaultGateway | string | This property shall contain the current IPv6 default gateway address in use on this interface. |
IPv6Enabled | boolean | This property shall indicate whether IPv6 is enabled on this interface. If this property contains `false`, the interface shall not contain any assigned IPv6 addresses, shall not initiate DHCPv6 requests, and shall not send or process ICMPv6 packets. If this property is not present, but this interface contains other IPv6 properties, the value shall be assumed to be `true`. |
IPv6StaticAddresses | array | This property shall contain an array of objects that represent the IPv6 static connection characteristics for this interface. Services should represent static addresses that are not configured as `null` values, as described by the ‘PATCH on array properties’ clause of the Redfish Specification. Services should not represent static addresses that are not configured as invalid IP addresses, such as `::`. |
IPv6StaticDefaultGateways | array | The values in this array shall represent the IPv6 static default gateway addresses for this interface. |
Links | Links | This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource. |
LinkStatus | LinkStatus | This property shall contain the link status of this interface, or port. |
MACAddress | MACAddress | This property shall contain the effective current MAC address of this interface. If an assignable MAC address is not supported, this value is a read-only alias of the PermanentMACAddress. |
MaxIPv6StaticAddresses | integer | This property shall indicate the number of array items supported by `IPv6StaticAddresses`, or the maximum number of static IPv6 addresses that can be configured on this interface. |
Name | Name | |
NameServers | array | This property shall contain the DNS servers in use on this interface. |
Oem | Oem | This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. |
RoutingScope | RoutingScope | This property shall contain the routing scope for this interface. This property shall only be present if this interface belongs to a virtual machine or container. |
SpeedMbps | integer | This property shall contain the link speed of the interface, in megabits per second (Mbit/s) units. This property shall be writable only when the `AutoNeg` property is `false`. |
StaticNameServers | array | This property shall contain the statically-defined set of DNS server IP addresses to use when DHCP provisioning is not enabled for name server configuration. As an implementation option, they can be used in addition to DHCP-provided addresses, or in cases where the DHCP server provides no DNS assignments. |
Status | Status | This property shall contain any status or health properties of the resource. |
VLAN | VLAN | This property shall contain the VLAN for this interface. If this interface supports more than one VLAN, the `VLAN` property shall be absent and, instead, the VLAN collection link shall be present. |
VLANs | VLanNetworkInterfaceCollection | This property shall contain a link to a resource collection of type `VLanNetworkInterfaceCollection`, which applies only if the interface supports more than one VLAN. If this property is present, the `VLANEnabled` and `VLANId` properties shall not be present. |
Event
Description
This resource contains an event for a Redfish implementation.
Fields
| Field | Type | Description |
|---|---|---|
Context | string | This property shall contain a client supplied context for the event destination to which this event is being sent. |
Description | Description | |
Events | array | This property shall contain an array of objects that represent the occurrence of one or more events. |
Events@odata.count | count | |
Id | Id | |
Name | Name | |
Oem | Oem | This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. |
FabricAdapter
Description
This resource shall represent a physical fabric adapter capable of connecting to an interconnect fabric.
Fields
| Field | Type | Description |
|---|---|---|
ASICManufacturer | string | This property shall contain the manufacturer name of the ASIC for the fabric adapter as defined by the manufacturer. |
ASICPartNumber | string | This property shall contain the part number of the ASIC for the fabric adapter as defined by the manufacturer. |
ASICRevisionIdentifier | string | This property shall contain the revision identifier of the ASIC for the fabric adapter as defined by the manufacturer. |
Description | Description | |
FabricType | Protocol | This property shall contain the configured fabric type of this fabric adapter. |
FabricTypeCapabilities | array | This property shall contain an array of fabric types supported by this fabric adapter. |
FirmwareVersion | string | This property shall contain the firmware version for the fabric adapter as defined by the manufacturer. |
GenZ | GenZ | This property shall contain the Gen-Z specific properties for this fabric adapter. |
Id | Id | |
Links | Links | This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource. |
Location | Location | This property shall contain the location information of the fabric adapter. |
LocationIndicatorActive | boolean | This property shall contain the state of the indicator used to physically identify or locate this resource. |
Manufacturer | string | This property shall contain a value that represents the manufacturer of the fabric adapter. |
Model | string | This property shall contain the information about how the manufacturer refers to this fabric adapter. |
Oem | Oem | This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. |
PartNumber | string | This property shall contain the part number for the fabric adapter as defined by the manufacturer. |
Ports | PortCollection | This property shall contain a link to a resource collection of type `PortCollection`. |
SerialNumber | string | This property shall contain the serial number for the fabric adapter. |
SKU | string | This property shall contain the SKU for the fabric adapter. |
Status | Status | This property shall contain any status or health properties of the resource. |
UUID | UUID | This property shall contain a universally unique identifier number for the fabric adapter. |
Fan
Description
This resource shall represent a cooling fan for a Redfish implementation. It may also represent a location, such as a slot, socket, or bay, where a unit may be installed, but the State property within the Status property contains Absent.
Fields
| Field | Type | Description |
|---|---|---|
Assembly | Assembly | This property shall contain a link to a resource of type `Assembly`. |
Description | Description | |
FanDiameterMm | integer | This property shall contain the diameter of the fan assembly in millimeter units. |
HotPluggable | boolean | This property shall indicate whether the device can be inserted or removed while the underlying equipment otherwise remains in its current operational state. Hot-pluggable devices can become operable without altering the operational state of the underlying equipment. Devices that cannot be inserted or removed from equipment in operation, or devices that cannot become operable without affecting the operational state of that equipment, shall not be hot-pluggable. |
Id | Id | |
Links | Links | This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource. |
Location | Location | This property shall contain the location information of this fan. |
LocationIndicatorActive | boolean | This property shall contain the state of the indicator used to physically identify or locate this resource. |
Manufacturer | string | This property shall contain the name of the organization responsible for producing the fan. This organization may be the entity from whom the fan is purchased, but this is not necessarily true. |
Model | string | This property shall contain the model information as defined by the manufacturer for this fan. |
Name | Name | |
Oem | Oem | This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. |
PartNumber | string | This property shall contain the part number as defined by the manufacturer for this fan. |
PhysicalContext | PhysicalContext | This property shall contain a description of the affected device or region within the chassis with which this fan is associated. |
PowerWatts | SensorPowerExcerpt | This property shall contain the total power, in watt units, for this resource. The value of the `DataSourceUri` property, if present, shall reference a resource of type `Sensor` with the `ReadingType` property containing the value `Power`. |
Replaceable | boolean | This property shall indicate whether this component can be independently replaced as allowed by the vendor’s replacement policy. A value of `false` indicates the component needs to be replaced by policy as part of another component. If the `LocationType` property of this component contains `Embedded`, this property shall contain `false`. |
SecondarySpeedPercent | SensorFanExcerpt | This property shall contain the fan speed, in percent units, for the secondary rotor of this resource. The value of the `DataSourceUri` property, if present, shall reference a resource of type `Sensor` with the `ReadingType` property containing the value `Percent`. |
SerialNumber | string | This property shall contain the serial number as defined by the manufacturer for this fan. |
SparePartNumber | string | This property shall contain the spare or replacement part number as defined by the manufacturer for this fan. |
SpeedPercent | SensorFanExcerpt | This property shall contain the fan speed, in percent units, for this resource. The value of the `DataSourceUri` property, if present, shall reference a resource of type `Sensor` with the `ReadingType` property containing the value `Percent`. |
Status | Status | This property shall contain any status or health properties of the resource. |
Manager
Description
This resource shall represent a management subsystem for a Redfish implementation.
Fields
| Field | Type | Description |
|---|---|---|
AdditionalFirmwareVersions | AdditionalVersions | This property shall contain the additional firmware versions of the manager. |
AutoDSTEnabled | boolean | This property shall indicate whether the manager is configured for automatic Daylight Saving Time (DST) adjustment. |
Certificates | CertificateCollection | This property shall contain a link to a resource collection of type `CertificateCollection` that contains certificates for device identity and attestation. |
CommandShell | CommandShell | This property shall describe a command line user interface or command shell service provided by this manager. The command shell refers to an interface used to interact with the manager itself, not a dedicated console session redirected from a host operating system. For redirected serial or host operating system consoles, see the `SerialConsole` property in the `ComputerSystem` resource. |
DateTime | string | This property shall contain the current date and time with UTC offset of the manager. |
DateTimeLocalOffset | string | This property shall contain the offset from UTC time that the `DateTime` property contains. If both `DateTime` and `DateTimeLocalOffset` are provided in modification requests, services shall apply `DateTimeLocalOffset` after `DateTime` is applied. |
DateTimeSource | DateTimeSource | This property shall contain the source of the `DateTime` property of this manager. The service shall update this property if the source changes internally, for example if an NTP server is unavailable and the source falls back to the time stored by the RTC. |
DedicatedNetworkPorts | PortCollection | This property shall contain a link to a resource collection of type `PortCollection` that represent the dedicated network ports of the manager. |
Description | Description | |
EthernetInterfaces | EthernetInterfaceCollection | This property shall contain a link to a resource collection of type `EthernetInterfaceCollection`. |
FirmwareVersion | string | This property shall contain the firmware version as defined by the manufacturer for the associated manager. |
Id | Id | |
LastResetTime | string | This property shall contain the date and time when the manager last came out of a reset or was rebooted. |
Links | Links | This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource. |
LogServices | LogServiceCollection | This property shall contain a link to a resource collection of type `LogServiceCollection` that this manager uses. |
ManagerDiagnosticData | ManagerDiagnosticData | This property shall contain a link to a resource of type `ManagerDiagnosticData` that represents the diagnostic data for this manager. |
ManagerType | ManagerType | This property shall describe the function of this manager. The `ManagementController` value shall be used if none of the other enumerations apply. |
Manufacturer | string | This property shall contain the name of the organization responsible for producing the manager. This organization may be the entity from whom the manager is purchased, but this is not necessarily true. |
PartNumber | string | This property shall contain a part number assigned by the organization that is responsible for producing or manufacturing the manager. |
PowerState | PowerState | This property shall contain the power state of the manager. |
RemoteAccountService | AccountService | This property shall contain a link to the account service resource for the remote manager that this resource represents. This property shall only be present when providing aggregation of a remote manager. |
RemoteRedfishServiceUri | string | This property shall contain the URI of the Redfish service root for the remote manager that this resource represents. This property shall only be present when providing aggregation of Redfish services. |
SecurityMode | SecurityModeTypes | This property shall contain the security compliance mode that the manager is currently configured to enforce. |
SerialConsole | SerialConsole | This property shall contain information about the serial console service of this manager. |
SerialNumber | string | This property shall contain a manufacturer-allocated number that identifies the manager. |
SparePartNumber | string | This property shall contain the spare part number of the manager. |
Status | Status | This property shall contain any status or health properties of the resource. |
UUID | UUID | This property shall contain the UUID for the manager. |
Version | string | This property shall contain the hardware version of this manager as determined by the vendor or supplier. |
ManagerAccount
Description
This resource shall represent a user account for the manager in a Redfish implementation. The account shall indicate the allowed access to one of more services in the manager.
Fields
| Field | Type | Description |
|---|---|---|
AccountExpiration | string | This property shall contain the date and time when this account expires. The service shall disable or delete an account that has expired. This property shall not apply to accounts created by the Redfish Host Interface Specification-defined credential bootstrapping. If the value is `null`, or the property is not present, the account never expires. |
Certificates | CertificateCollection | This property shall contain a link to a resource collection of type `CertificateCollection` that represents the user identity certificates for this account. |
Description | Description | |
EmailAddress | string | This property shall contain the email address associated with this account. |
Enabled | boolean | This property shall indicate whether an account is enabled. If `true`, the account is enabled and the user can log in. If `false`, the account is disabled and, in the future, the user cannot log in. |
HostBootstrapAccount | boolean | This property shall indicate whether this account is a bootstrap account created by the Redfish Host Interface Specification-defined credential bootstrapping. |
Id | Id | |
Keys | KeyCollection | This property shall contain a link to a resource collection of type `KeyCollection` that contains the keys that can be used to authenticate this account. |
Locked | boolean | This property shall indicate whether the account service automatically locked the account because the `AccountLockoutThreshold` was exceeded. To manually unlock the account before the lockout duration period, an administrator shall be able to change the property to `false` to clear the lockout condition. |
Name | Name | |
PasswordChangeRequired | boolean | This property shall indicate whether the service requires that the password for this account be changed before further access to the account is allowed. The implementation may deny access to the service if the password has not been changed. A manager account created with an initial `PasswordChangeRequired` value of `true` may force a password change before first access of the account. When the `Password` property for this account is updated, the service shall set this property to `false`. |
PasswordExpiration | string | This property shall contain the date and time when this account password expires. If the value is `null`, the account password never expires. If provided during account creation or password modification, this value shall override the value of the `PasswordExpirationDays` property in the `AccountService` resource. |
PhoneNumber | string | This property shall contain the contact phone number associated with this account. |
RoleId | string | This property shall contain the `RoleId` of the role resource configured for this account. The service shall reject `POST`, `PATCH`, or `PUT` operations that provide a `RoleId` that does not exist by returning the HTTP `400 Bad Request` status code. |
SecretKeySet | boolean | This property shall indicate if the secret key for RFC6238-defined Time-based One-Time Password (TOTP) multi-factor authentication is set. |
UserName | string | This property shall contain the username for this account. |
Memory
Description
This resource shall represent a memory device in a Redfish implementation. It may also represent a location, such as a slot, socket, or bay, where a unit may be installed, but the State property within the Status property contains Absent.
Fields
| Field | Type | Description |
|---|---|---|
AllocationAlignmentMiB | integer | This property shall contain the alignment boundary on which memory regions are allocated, measured in MiB. |
AllocationIncrementMiB | integer | This property shall contain the allocation increment for regions, measured in MiB. |
AllowedSpeedsMHz | array | This property shall contain the speeds supported by this memory device. |
BaseModuleType | BaseModuleType | This property shall contain the base module type of the memory device. |
BusWidthBits | integer | This property shall contain the bus width, in bits. |
CapacityMiB | integer | This property shall contain the memory capacity in MiB. |
CXL | CXL | This property shall contain CXL-specific properties for this memory device. |
DataWidthBits | integer | This property shall contain the data width in bits. |
Description | Description | |
Enabled | boolean | The value of this property shall indicate if this memory is enabled. |
EnvironmentMetrics | EnvironmentMetrics | This property shall contain a link to a resource of type `EnvironmentMetrics` that specifies the environment metrics for this memory. |
ErrorCorrection | ErrorCorrection | This property shall contain the error correction scheme supported for this memory device. |
FirmwareApiVersion | string | This property shall contain the version of API supported by the firmware. |
FirmwareRevision | string | This property shall contain the revision of firmware on the memory controller. |
FunctionClasses | array | This property shall contain the function classes by the memory device. |
HealthData | HealthData | This property shall contain the health data of this memory device. |
Id | Id | |
IsRankSpareEnabled | boolean | This property shall indicate whether rank spare is enabled for this memory device. |
IsSpareDeviceEnabled | boolean | This property shall indicate whether the spare device is enabled. |
Links | Links | This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource. |
Location | Location | This property shall contain the location information of the associated memory device. |
LocationIndicatorActive | boolean | This property shall contain the state of the indicator used to physically identify or locate this resource. A write to this property shall update the value of `IndicatorLED` in this resource, if supported, to reflect the implementation of the locating function. |
Log | LogService | This property shall contain a link to a resource of type `LogService`. |
LogicalSizeMiB | integer | This property shall contain the total size of the logical memory in MiB. |
Manufacturer | string | This property shall contain the manufacturer of the memory device. |
MaxTDPMilliWatts | array | This property shall contain an array of maximum power budgets supported by the memory device in milliwatt units. |
MemoryDeviceType | MemoryDeviceType | This property shall contain the Memory Device Type as defined by SMBIOS. |
MemoryLocation | MemoryLocation | This object shall contain properties that describe the memory connection information to sockets and memory controllers. |
MemoryMedia | array | This property shall contain the media types of this memory device. |
MemorySubsystemControllerManufacturerID | string | This property shall contain the two byte manufacturer ID of the memory subsystem controller of this memory device as defined by JEDEC in JEP-106. |
MemorySubsystemControllerProductID | string | This property shall contain the two byte product ID of the memory subsystem controller of this memory device as defined by the manufacturer. |
MemoryType | MemoryType | This property shall contain the type of memory device that this resource represents. |
Metrics | MemoryMetrics | The link to the metrics associated with this memory device. |
Model | string | This property shall indicate the model information as provided by the manufacturer of this memory. |
ModuleManufacturerID | string | This property shall contain the two byte manufacturer ID of this memory device as defined by JEDEC in JEP-106. |
ModuleProductID | string | This property shall contain the two byte product ID of this memory device as defined by the manufacturer. |
Name | Name | |
NonVolatileSizeLimitMiB | integer | This property shall contain the total non-volatile memory capacity in mebibytes (MiB). |
NonVolatileSizeMiB | integer | This property shall contain the total size of the non-volatile portion memory in MiB. |
Oem | Oem | This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. |
OperatingMemoryModes | array | This property shall contain the memory modes supported by the memory device. |
OperatingSpeedMhz | integer | This property shall contain the operating speed of the memory device in MHz or MT/s (mega-transfers per second) as reported by the memory device. Memory devices that operate at their bus speed shall report the operating speed in MHz (bus speed), while memory devices that transfer data faster than their bus speed, such as DDR memory, shall report the operating speed in MT/s (mega-transfers/second). The reported value shall match the conventionally reported values for the technology used by the memory device. |
OperatingSpeedRangeMHz | ControlRangeExcerpt | This property shall contain the operating speed control, in megahertz units, for this resource. The value of the `DataSourceUri` property, if present, shall reference a resource of type `Control` with the `ControlType` property containing the value of `FrequencyMHz`. |
PartNumber | string | This property shall indicate the part number as provided by the manufacturer of this memory device. |
PersistentRegionNumberLimit | integer | This property shall contain the total number of persistent regions this memory device can support. |
PersistentRegionSizeLimitMiB | integer | This property shall contain the total size of persistent regions in MiB. |
PersistentRegionSizeMaxMiB | integer | This property shall contain the maximum size of a single persistent regions in MiB. |
PoisonListMaxMediaErrorRecords | integer | This property shall contain the maximum number of media error records this device can track in its poison list. |
PowerManagementICManufacturerID | string | This property shall contain the two byte manufacturer ID of the Power Management Integrated Controller on this memory device as defined by JEDEC in JESD301. |
PowerManagementICRevisionID | string | This property shall contain the two byte revision ID of the Power Management Integrated Controller on this memory device as defined by JEDEC in JESD301. |
PowerManagementPolicy | PowerManagementPolicy | This object shall contain properties that describe the power management policy for this resource. |
RankCount | integer | This property shall contain the number of ranks available in the memory device. The ranks could be used for spare or interleave. |
Regions | array | This property shall contain the memory region information within the memory device. |
SecurityCapabilities | SecurityCapabilities | This property shall contain properties that describe the security capabilities of the memory device. |
SecurityState | SecurityStates | This property shall contain the current security state of this memory device. |
SecurityStates | SecurityStateInfo | This property shall contain the security states of this memory device. |
SerialNumber | string | This property shall indicate the serial number as provided by the manufacturer of this memory device. |
SpareDeviceCount | integer | This property shall contain the number of unused spare devices available in the memory device. If the memory device fails, the spare devices could be used. |
SparePartNumber | string | This property shall contain the spare part number of the memory. |
Status | Status | This property shall contain any status or health properties of the resource. |
SubsystemDeviceID | string | This property shall contain the subsystem device ID of the memory device. |
SubsystemVendorID | string | This property shall contain the subsystem vendor ID of the memory device. |
VendorID | string | This property shall contain the vendor ID of the memory device. |
VolatileRegionNumberLimit | integer | This property shall contain the total number of volatile regions this memory device can support. |
VolatileRegionSizeLimitMiB | integer | This property shall contain the total size of volatile regions in MiB. |
VolatileRegionSizeMaxMiB | integer | This property shall contain the maximum size of a single volatile regions in MiB. |
VolatileSizeLimitMiB | integer | This property shall contain the total volatile memory capacity in mebibytes (MiB). |
VolatileSizeMiB | integer | This property shall contain the total size of the volatile portion memory in MiB. |
MemoryChunks
Description
This resource shall represent memory chunks and interleave sets in a Redfish implementation.
Fields
| Field | Type | Description |
|---|---|---|
AddressRangeOffsetMiB | integer | The value of this property shall be the offset of the memory chunk in the address range in MiB. |
AddressRangeType | AddressRangeType | This property shall contain the type of memory chunk. |
Description | Description | |
DisplayName | string | This property shall contain a user-configurable string to name the memory chunk. |
Id | Id | |
IsMirrorEnabled | boolean | This property shall indicate whether memory mirroring is enabled for this memory chunk. |
IsSpare | boolean | This property shall indicate whether sparing is enabled for this memory chunk. |
Links | Links | This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource. |
MediaLocation | MediaLocation | This property shall contain the location of the memory media for this memory chunk. |
MemoryChunkSizeMiB | integer | This property shall contain the size of the memory chunk in MiB. |
Name | Name | |
Oem | Oem | This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. |
RequestedOperationalState | OperationalState | This property shall contain the requested operational state of this memory chunk. |
Status | Status | This property shall contain any status or health properties of the resource. |
MemoryDomain
Description
This resource shall represent memory domains in a Redfish implementation.
Fields
| Field | Type | Description |
|---|---|---|
AllowsBlockProvisioning | boolean | This property shall indicate whether this memory domain supports the creation of blocks of memory. |
AllowsMemoryChunkCreation | boolean | This property shall indicate whether this memory domain supports the creation of memory chunks. |
AllowsMirroring | boolean | This property shall indicate whether this memory domain supports the creation of memory chunks with mirroring enabled. |
AllowsSparing | boolean | This property shall indicate whether this memory domain supports the creation of memory chunks with sparing enabled. |
Description | Description | |
Id | Id | |
InterleavableMemorySets | array | This property shall represent the interleave sets for the memory chunk. |
Links | Links | This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource. |
MemoryChunkIncrementMiB | integer | This property shall contain the incremental size, from `MemoryChunkIncrementMiB`, allowed for a memory chunk within this domain in mebibytes (MiB). |
MemoryChunks | MemoryChunksCollection | This property shall contain a link to a resource collection of type `MemoryChunksCollection`. |
MemorySizeMiB | integer | This property shall contain the total size of the memory domain in mebibytes (MiB). |
MinMemoryChunkSizeMiB | integer | This property shall contain the minimum size allowed for a memory chunk within this domain in mebibytes (MiB). |
Name | Name | |
Oem | Oem | This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. |
Status | Status | This property shall contain any status or health properties of the resource. |
OutboundConnection
Description
This resource shall represent the connection configuration necessary to connect to a remote client. Services shall initiate the outbound connection over a WebSocket defined in the ‘Outbound connections’ clause of the Redfish Specification.
Fields
| Field | Type | Description |
|---|---|---|
Authentication | AuthenticationType | This property shall contain the authentication mechanism for the WebSocket connection. |
Certificates | CertificateCollection | This property shall contain a link to a resource collection of type `CertificateCollection` that represents the server certificates for the remote client referenced by the `EndpointURI` property. If the `Authentication` property contains `MTLS`, the service shall compare the certificates in this collection with the certificate obtained during handshaking with the WebSocket service to verify the identity of the remote client prior to completing the connection. If the remote client cannot be verified, the service shall not complete the connection. Regardless of the contents of this collection, services may perform additional verification based on other factors, such as the configuration of the `SecurityPolicy` resource. |
ClientCertificates | CertificateCollection | This property shall contain a link to a resource collection of type `CertificateCollection` that represents the client identity certificates for the service. If the `Authentication` property contains `MTLS`, these certificates are provided to the remote client referenced by the `EndpointURI` property as part of TLS handshaking. |
ConnectionEnabled | boolean | This property shall indicate if the outbound connection is enabled. If `true`, the service shall attempt to establish an outbound connection to the remote client specified by the `EndpointURI` property. If `false`, the service shall not attempt to establish a connection to the remote client and shall close the connection if one is already established. When a connection is established, the service shall create a Session resource to represent the active connection. When a connection is closed, the service shall delete the connection’s respective Session resource. If the client does not provide this property, the service shall default this value to `true`. |
Description | Description | |
EndpointURI | string | This property shall contain the WebSocket URI to the external web service of the remote client. The value shall follow the URI format defined in RFC6455. Services shall reject URIs that do not contain the scheme `wss`. |
Id | Id | |
Links | Links | This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource. |
Name | Name | |
Oem | Oem | This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. |
PreUpgradeHTTPHeaders | HTTPHeaderProperty | This property shall contain an object consisting of the names and values of HTTP headers to send to the remote client during the initial connection prior to the WebSocket upgrade. This property shall be an empty object in responses. |
RetryPolicy | RetryPolicyType | This property shall contain the retry policy for this outbound connection. If not specified by the client in the create request, the service shall assume ConnectionRetryPolicy contains `None`. |
Roles | array | This property shall contain the Redfish roles that contain the privileges of the remote client for the outbound connection. |
Status | Status | This property shall contain any status or health properties of the resource. |
WebSocketPingIntervalMinutes | integer | This property shall contain the interval for the service to send the WebSocket ping opcode to the remote client in minutes. If `0`, the service shall not send the WebSocket ping opcode to the remote client. |
PCIeDevice
Description
This resource shall represent a PCIe device in a Redfish implementation. It may also represent a location, such as a slot, socket, or bay, where a unit may be installed, but the State property within the Status property contains Absent.
Fields
| Field | Type | Description |
|---|---|---|
Assembly | Assembly | This property shall contain a link to a resource of type `Assembly`. |
AssetTag | string | This property shall contain an identifying string that tracks the PCIe device for inventory purposes. |
CXLDevice | CXLDevice | This property shall contain CXL-specific properties of this PCIe device. |
CXLLogicalDevices | CXLLogicalDeviceCollection | This property shall contain a link to a resource collection of type `CXLLogicalDeviceCollection`. |
Description | Description | |
DeviceType | DeviceType | This property shall contain the device type of the PCIe device such as `SingleFunction` or `MultiFunction`. |
EnvironmentMetrics | EnvironmentMetrics | This property shall contain a link to a resource of type `EnvironmentMetrics` that specifies the environment metrics for this PCIe device. |
FirmwareVersion | string | This property shall contain the firmware version of the PCIe device. |
Id | Id | |
Links | Links | This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource. |
LocationIndicatorActive | boolean | This property shall contain the state of the indicator used to physically identify or locate this resource. |
Manufacturer | string | This property shall contain the name of the organization responsible for producing the PCIe device. This organization may be the entity from whom the PCIe device is purchased, but this is not necessarily true. |
Model | string | This property shall contain the name by which the manufacturer generally refers to the PCIe device. |
Name | Name | |
Oem | Oem | This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. |
PartNumber | string | This property shall contain a part number assigned by the organization that is responsible for producing or manufacturing the PCIe device. |
PCIeInterface | PCIeInterface | This property shall contain details for the PCIe interface that connects this PCIe device to its host or upstream switch. |
ReadyToRemove | boolean | This property shall indicate whether the PCIe device is ready for removal. Setting the value to `true` shall cause the service to perform appropriate actions to quiesce the device. A task may spawn while the device is quiescing. |
SerialNumber | string | This property shall contain a manufacturer-allocated number that identifies the PCIe device. |
SKU | string | This property shall contain the stock-keeping unit number for this PCIe device. |
Slot | Slot | This property shall contain information about the PCIe slot for this PCIe device. |
SparePartNumber | string | This property shall contain the spare part number of the PCIe device. |
StagedVersion | string | This property shall contain the staged firmware version for this PCIe device; this firmware is not yet active. |
Status | Status | This property shall contain any status or health properties of the resource. |
UUID | UUID | This property shall contain the universally unique identifier number for this PCIe device. |
Port
Description
This resource contains a simple port for a Redfish implementation.
Fields
| Field | Type | Description |
|---|---|---|
ActiveWidth | integer | This property shall contain the number of active lanes for this interface. |
CapableProtocolVersions | array | This property shall contain the protocol versions capable of being sent over this port. This property should only be used for protocols where the version and not the speed is of primary interest such as USB, DisplayPort, or HDMI. |
ConfiguredSpeedGbps | number | This property shall contain the unidirectional speed to which this port is configured to train. This value includes overhead associated with the protocol. If `AutoSpeedNegotiationEnabled` contains `true`, this property shall be ignored. |
ConfiguredWidth | integer | This property shall contain the number of physical transport links to which this port is configured to train. If `AutoSpeedNegotiationEnabled` contains `true`, this property shall be ignored. |
CurrentProtocolVersion | string | This property shall contain the protocol version being sent over this port. This property should only be used for protocols where the version and not the speed is of primary interest such as USB, DisplayPort, or HDMI. |
CurrentSpeedGbps | number | This property shall contain the unidirectional speed of this port currently negotiated and running. This value includes overhead associated with the protocol. |
CXL | CXL | This property shall contain CXL-specific properties for this port. |
Description | Description | |
Enabled | boolean | The value of this property shall indicate if this port is enabled. Disabling a port will disconnect any devices only connected to the system through this port. |
HostDevice | HostDeviceType | This property shall contain the current host device of port. |
Id | Id | |
LinkConfiguration | array | This property shall contain the static capabilities and configuration settings of the port. |
LinkNetworkTechnology | LinkNetworkTechnology | This property shall contain the current network technology for this port. |
Links | Links | This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource. |
LinkState | LinkState | This property shall contain the desired link state for this interface. |
LinkStatus | LinkStatus | This property shall contain the link status for this interface. |
Location | Location | This property shall contain the location information of the associated port. |
LocationIndicatorActive | boolean | This property shall contain the state of the indicator used to physically identify or locate this resource. A write to this property shall update the value of `IndicatorLED` in this resource, if supported, to reflect the implementation of the locating function. |
MaxSpeedGbps | number | This property shall contain the maximum unidirectional speed of which this port is capable of being configured. If capable of autonegotiation, the system shall attempt to negotiate at the maximum speed set. This value includes overhead associated with the protocol. |
Metrics | PortMetrics | This property shall contain a link to the metrics associated with this port. |
Name | Name | |
Oem | Oem | This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. |
PortId | string | This property shall contain the hardware-defined identifier of this port. The human-readable name of this port is described in the `ServiceLabel` property within `Location` for this port. |
PortMedium | PortMedium | This property shall contain the physical connection medium for this port. |
PortProtocol | Protocol | This property shall contain the protocol being sent over this port. |
PortType | PortType | This property shall contain the port type for this port. |
RemotePortId | string | This property shall contain the identifier of the remote port, such as a switch or device, to which this port is connected. |
SignalDetected | boolean | This property shall indicate whether a signal that is appropriate for this link technology is detected for this port. |
Status | Status | This property shall contain any status or health properties of the resource. |
Width | integer | This property shall contain the number of physical transport links that this port contains. |
PowerSubsystem
Description
This resource shall represent a power subsystem for a Redfish implementation.
Fields
| Field | Type | Description |
|---|---|---|
Allocation | PowerAllocation | This property shall contain the set of properties describing the allocation of power for this subsystem as part of the power infrastructure for the chassis or an upstream chassis. This property should not be present in resources that are not part of a shared power infrastructure. |
Batteries | BatteryCollection | This property shall contain a link to a resource collection of type `BatteryCollection`. |
CapacityWatts | number | This property shall represent the total power capacity that can be allocated to this subsystem. |
Description | Description | |
Id | Id | |
Name | Name | |
Oem | Oem | This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. |
PowerSupplies | PowerSupplyCollection | This property shall contain a link to a resource collection of type `PowerSupplyCollection`. |
PowerSupplyRedundancy | array | This property shall contain redundancy information for the set of power supplies in this subsystem. The values of the `RedundancyGroup` array shall reference resources of type `PowerSupply`. |
Status | Status | This property shall contain any status or health properties of the resource. |
PowerSupply
Description
This resource shall represent a power supply unit for a Redfish implementation. It may also represent a location, such as a slot, socket, or bay, where a unit may be installed, but the State property within the Status property contains Absent.
Fields
| Field | Type | Description |
|---|---|---|
Assembly | Assembly | This property shall contain a link to a resource of type `Assembly`. |
Certificates | CertificateCollection | This property shall contain a link to a resource collection of type `CertificateCollection` that contains certificates for device identity and attestation. |
Description | Description | |
EfficiencyRatings | array | This property shall contain an array of efficiency ratings for this power supply. |
FirmwareVersion | string | This property shall contain the firmware version as defined by the manufacturer for this power supply. |
HotPluggable | boolean | This property shall indicate whether the device can be inserted or removed while the underlying equipment otherwise remains in its current operational state. Devices indicated as hot-pluggable shall allow the device to become operable without altering the operational state of the underlying equipment. Devices that cannot be inserted or removed from equipment in operation, or devices that cannot become operable without affecting the operational state of that equipment, shall be indicated as not hot-pluggable. |
Id | Id | |
InputNominalVoltageType | NominalVoltageType | This property shall contain the nominal voltage type that is detected on the line input to this power supply. This value shall be one of the values shown in the `NominalVoltageType` property in the `InputRanges` array, if present. If the line input voltage is unknown, out of range, or there is no input provided to the power supply, the value shall be `null`. |
InputRanges | array | This property shall contain a collection of ranges usable by this power supply. |
LineInputStatus | LineStatus | This property shall contain the status of the power line input for this power supply. |
Links | Links | This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource. |
Location | Location | This property shall contain the location information of the power supply. For a resource in the `Absent` state, this property describes the empty location, such as a slot, socket, or bay, to represent the available capacity. |
LocationIndicatorActive | boolean | This property shall contain the state of the indicator used to physically identify or locate this resource. |
Manufacturer | string | This property shall contain the name of the organization responsible for producing the power supply. This organization may be the entity from whom the power supply is purchased, but this is not necessarily true. |
Metrics | PowerSupplyMetrics | This property shall contain a link to a resource of type `PowerSupplyMetrics`. |
Model | string | This property shall contain the model information as defined by the manufacturer for this power supply. |
Name | Name | |
Oem | Oem | This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. |
OutputNominalVoltageType | NominalVoltageType | This property shall contain the nominal voltage type of the single output line of this power supply. This property is intended to describe power supply types that connect to additional power infrastructure components, such as a rectifier component in a modular power system. This property shall not be present for power supplies not intended to connect to additional power infrastructure components. |
OutputRails | array | This property shall contain an array of output power rails provided by this power supply. The elements shall be ordered in ascending nominal voltage order. This ordering is necessary for consistency with `Sensor` properties in an associated `PowerSupplyMetrics` resource. |
PartNumber | string | This property shall contain the part number as defined by the manufacturer for this power supply. |
PhaseWiringType | PhaseWiringType | This property shall contain the number of ungrounded current-carrying conductors (phases) and the total number of conductors (wires) included in the input connector for the power supply. |
PlugType | PlugType | This property shall contain the type of physical plug used for the input to this power supply, as defined by IEC, NEMA, or regional standards. |
PowerCapacityWatts | number | This property shall contain the maximum amount of power, in watt units, that this power supply is rated to deliver. |
PowerSupplyType | PowerSupplyType | This property shall contain the input power type (AC or DC) of this power supply. |
ProductionDate | string | This property shall contain the date of production or manufacture for this power supply. |
Replaceable | boolean | This property shall indicate whether this component can be independently replaced as allowed by the vendor’s replacement policy. A value of `false` indicates the component needs to be replaced by policy as part of another component. If the `LocationType` property of this component contains `Embedded`, this property shall contain `false`. |
SerialNumber | string | This property shall contain the serial number as defined by the manufacturer for this power supply. |
SparePartNumber | string | This property shall contain the spare or replacement part number as defined by the manufacturer for this power supply. |
Status | Status | This property shall contain any status or health properties of the resource. |
Version | string | This property shall contain the hardware version of this power supply as determined by the vendor or supplier. |
Processor
Description
This resource shall represent a single processor that a system contains. A processor includes both performance characteristics, clock speed, architecture, core count, and so on, and compatibility, such as the CPU ID instruction results. It may also represent a location, such as a slot, socket, or bay, where a unit may be installed, but the State property within the Status property contains Absent.
Fields
| Field | Type | Description |
|---|---|---|
CacheMemory | MemoryCollection | This property shall contain a link to a resource collection of type `MemoryCollection` that represents the cache memory of this processor. |
InstructionSet | InstructionSet | This property shall contain the string that identifies the instruction set of the processor contained in this socket. |
Links | Links | This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource. |
MemorySummary | MemorySummary | This property shall contain properties that describe the summary of all memory that is associated with this processor. |
Metrics | ProcessorMetrics | This property shall contain a link to a resource of type `ProcessorMetrics` that contains the metrics associated with this processor. |
Name | Name | |
required | object | |
Status | Status | This property shall contain any status or health properties of the resource. |
type | object |
Sensor
Description
This resource shall represent a sensor for a Redfish implementation.
Fields
| Field | Type | Description |
|---|---|---|
AdjustedMaxAllowableOperatingValue | number | This property shall contain the adjusted maximum allowable operating value for the equipment that this sensor monitors, as specified by a standards body, manufacturer, or both. The value is adjusted based on environmental conditions. For example, liquid inlet temperature can be adjusted based on the available liquid pressure. |
AdjustedMinAllowableOperatingValue | number | This property shall contain the adjusted minimum allowable operating value for the equipment that this sensor monitors, as specified by a standards body, manufacturer, or both. This value is adjusted based on environmental conditions. For example, liquid inlet temperature can be adjusted based on the available liquid pressure. |
ApparentkVAh | number | This property shall contain the apparent energy, in kilovolt-ampere-hour units, for an electrical energy measurement. This property can appear in sensors with a `ReadingType` containing `EnergykWh`, and shall not appear in sensors with other `ReadingType` values. |
ApparentVA | number | This property shall contain the product of voltage (RMS) multiplied by current (RMS) for a circuit. This property can appear in sensors of the `Power` `ReadingType`, and shall not appear in sensors of other `ReadingType` values. |
AverageReading | number | This property shall contain the average sensor value over the time specified by the value of the `AveragingInterval` property. The value shall be reset by the `ResetMetrics` action or by a service reset of time-based property values. |
AveragingInterval | string | This property shall contain the interval over which the sensor value is averaged to produce the value of the `AverageReading` property. This property shall only be present if the `AverageReading` property is present. |
AveragingIntervalAchieved | boolean | This property shall indicate that enough readings were collected to calculate the `AverageReading` value over the interval specified by the `AveragingInterval` property. The value shall be reset by the `ResetMetrics` action. This property shall only be present if the `AveragingInterval` property is present. |
Calibration | number | This property shall contain the offset applied to the raw sensor value to provide a calibrated value for the sensor as returned by the `Reading` property. The value of this property shall follow the units of the `Reading` property for this sensor instance. Updating the value of this property shall not affect the value of the `CalibrationTime` property. |
CalibrationTime | string | This property shall contain the date and time that the sensor was last calibrated. This property is intended to reflect the actual time the calibration occurred. |
CrestFactor | number | This property shall contain the ratio of the peak measurement divided by the RMS measurement and calculated over same N line cycles. A sine wave would have a value of 1.414. |
Description | Description | |
Enabled | boolean | This property shall indicate whether the sensor is enabled and provides a `Reading`. The value `true` shall indicate the sensor is enabled and returns the `Reading` property with a valid value. The value `false` shall indicate the sensor is disabled, shall not return the `Reading` property, and shall not trigger events, logging, or other functionality. This property allows a user to disable a faulty sensor or to otherwise remove it from use. |
Id | Id | |
LifetimeReading | number | This property shall contain the total accumulation of the `Reading` property over the sensor’s lifetime. This value shall not be reset by the `ResetMetrics` action. |
LifetimeStartDateTime | string | This property shall contain the date and time when the sensor started accumulating readings for the `LifetimeReading` property. This might contain the same value as the production date of the device that contains this sensor. |
Links | Links | This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource. |
Location | Location | This property shall indicate the location information for this sensor. |
LowestReading | number | This property shall contain the lowest sensor value since the last `ResetMetrics` action was performed or since the service last reset the time-based property values. |
LowestReadingTime | string | This property shall contain the date and time when the lowest sensor value was observed, as reported as the value of `LowestReading`. |
Manufacturer | string | This property shall contain the name of the organization responsible for producing the sensor. This organization may be the entity from whom the sensor is purchased, but this is not necessarily true. This property is generally used only for replaceable or user-configurable sensors. |
MaxAllowableOperatingValue | number | This property shall contain the maximum allowable operating value for the equipment that this sensor monitors, as specified by a standards body, manufacturer, or both. |
MinAllowableOperatingValue | number | This property shall contain the minimum allowable operating value for the equipment that this sensor monitors, as specified by a standards body, manufacturer, or both. |
Model | string | This property shall contain the name by which the manufacturer generally refers to the sensor. This property is generally used only for replaceable or user-configurable sensors. |
Name | Name | |
Oem | Oem | This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. |
PartNumber | string | This property shall contain a part number assigned by the organization that is responsible for producing or manufacturing the sensor. This property is generally used only for replaceable or user-configurable sensors. |
PeakReading | number | This property shall contain the peak sensor value since the last `ResetMetrics` action was performed or since the service last reset the time-based property values. |
PeakReadingTime | string | This property shall contain the date and time when the peak sensor value was observed, as reported as the value of `PeakReading`. |
PhaseAngleDegrees | number | This property shall contain the phase angle, in degree units, between the current and voltage waveforms for an electrical measurement. This property can appear in sensors with a `ReadingType` containing `Power`, and shall not appear in sensors with other `ReadingType` values. |
PhysicalContext | PhysicalContext | This property shall contain a description of the affected component or region within the equipment to which this sensor measurement applies. |
PhysicalSubContext | PhysicalSubContext | This property shall contain a description of the usage or sub-region within the equipment to which this sensor measurement applies. This property generally differentiates multiple sensors within the same `PhysicalContext` instance. |
PowerFactor | number | This property shall identify the quotient of real power (W) and apparent power (VA) for a circuit. `PowerFactor` is expressed in unit-less 1/100ths. This property can appear in sensors containing a `ReadingType` value of `Power`, and shall not appear in sensors of other `ReadingType` values. |
Precision | number | This property shall contain the number of significant digits in the `Reading` property. |
ReactivekVARh | number | This property shall contain the reactive energy, in kilovolt-ampere-hours (reactive) units, for an electrical energy measurement. This property can appear in sensors with a `ReadingType` containing `EnergykWh`, and shall not appear in sensors with other `ReadingType` values. |
ReactiveVAR | number | This property shall contain the arithmetic mean of product terms of instantaneous voltage and quadrature current measurements calculated over an integer number of line cycles for a circuit. This property can appear in sensors of the `Power` `ReadingType`, and shall not appear in sensors of other `ReadingType` values. |
Reading | number | This property shall contain the sensor value. This property shall not be returned if the `Enabled` property is supported and contains `false`. |
ReadingAccuracy | number | This property shall contain the accuracy of the value of the `Reading` property for this sensor. The value shall be the absolute value of the maximum deviation of the `Reading` from its actual value. The value shall be in units that follow the `ReadingUnits` for this sensor. |
ReadingBasis | ReadingBasisType | This property shall indicate the basis or frame of reference for the value of the `Reading` property. If this property is not present, the value shall be assumed to be `Zero`. |
ReadingRangeMax | number | This property shall indicate the maximum possible value of the `Reading` property for this sensor. This value is the range of valid readings for this sensor. Values outside this range are discarded as reading errors. |
ReadingRangeMin | number | This property shall indicate the minimum possible value of the `Reading` property for this sensor. This value is the range of valid readings for this sensor. Values outside this range are discarded as reading errors. |
ReadingTime | string | This property shall contain the date and time that the reading data was acquired from the sensor. This value is used to synchronize readings from multiple sensors and does not represent the time at which the resource was accessed. |
ReadingType | ReadingType | This property shall contain the type of the sensor. |
ReadingUnits | string | This property shall contain the units of the sensor’s reading, thresholds, and other reading-related properties. The value shall follow the case-sensitive symbol format defined by the Unified Code for Units of Measure (UCUM), as specified by the ‘Units of measure annotation’ clause of the Redfish Specification. |
RelatedItem | array | This property shall contain an array of links to resources or objects that this sensor services. |
RelatedItem@odata.count | count | |
SensingInterval | string | This property shall contain the time interval between readings of data from the sensor. |
SensorGroup | RedundantGroup | This property shall contain information for a group of sensors that provide input for the value of this sensor’s reading. If this property is present, the `Implementation` property shall contain the value `Synthesized`. The group may be created for redundancy or to improve the accuracy of the reading through multiple sensor inputs. |
SensorResetTime | string | This property shall contain the date and time when the `ResetMetrics` action was last performed or when the service last reset the time-based property values. |
SerialNumber | string | This property shall contain a manufacturer-allocated number that identifies the sensor. This property is generally used only for replaceable or user-configurable sensors. |
SKU | string | This property shall contain the stock-keeping unit number for this sensor. This property is generally used only for replaceable or user-configurable sensors. |
SparePartNumber | string | This property shall contain the spare part number of the sensor. This property is generally used only for replaceable or user-configurable sensors. |
SpeedRPM | number | This property shall contain a reading of the rotational speed of the device in revolutions per minute (RPM) units. |
Status | Status | This property shall contain any status or health properties of the resource. |
THDPercent | number | This property shall contain the total harmonic distortion of the `Reading` property in percent units, typically `0` to `100`. |
Thresholds | Thresholds | This property shall contain the set of thresholds that derive a sensor’s health and operational range. |
ServiceRoot
Description
This resource shall represent the root of the Redfish service.
Fields
| Field | Type | Description |
|---|---|---|
@odata.context | string | The OData description of a payload. |
@odata.id | string | The unique identifier for a resource. |
@odata.type | string | The type of a resource. |
AccountService | AccountService | This property shall contain a link to a resource of type AccountService. |
CertificateService | CertificateService | This property shall contain a link to a resource of type CertificateService. |
Chassis | ChassisCollection | This property shall contain a link to a resource collection of type ChassisCollection. |
Description | string | The description of this resource. Used for commonality in the schema definitions. |
EventService | EventService | This property shall contain a link to a resource of type EventService. |
Id | string | The unique identifier for this resource within the collection of similar resources. |
Links | Links | This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource. |
Managers | ManagerCollection | This property shall contain a link to a resource collection of type ManagerCollection. |
Name | string | The name of the resource or array member. |
Oem | object | The OEM extension property. |
Product | string | This property shall include the product name for this Redfish service. |
RedfishVersion | string | This property shall represent the Redfish protocol version, as specified in the ‘Protocol version’ clause of the Redfish Specification, to which this service conforms. |
Registries | MessageRegistryFileCollection | This property shall contain a link to a resource collection of type MessageRegistryFileCollection. |
SessionService | SessionService | This property shall contain a link to a resource of type SessionService. |
Systems | ComputerSystemCollection | This property shall contain a link to a resource collection of type ComputerSystemCollection. |
Tasks | TaskService | This property shall contain a link to a resource of type TaskService. |
TelemetryService | TelemetryService | This property shall contain a link to a resource of type TelemetryService. |
UUID | string | This property shall contain the UUID for the Redfish service. This value should be an exact match of the UUID value returned in a 200 OK from an SSDP M-SEARCH request during discovery. |
UpdateService | UpdateService | This property shall contain a link to a resource of type UpdateService. |
Vendor | string | This property shall include the name of the manufacturer or vendor represented by this Redfish service. If this property is supported, the vendor name shall not be included in the Product property. |
Session
Description
This resource shall represent a session for a Redfish implementation.
Fields
| Field | Type | Description |
|---|---|---|
@odata.context | string | The OData description of a payload. |
@odata.id | string | The unique identifier for a resource. |
@odata.type | string | The type of a resource. |
Description | string | The description of this resource. Used for commonality in the schema definitions. |
Id | string | The unique identifier for this resource within the collection of similar resources. |
Name | string | The name of the resource or array member. |
Oem | object | The OEM extension property. |
Password | string | This property shall contain the password for this session. The value shall be null in responses. |
SessionType | string | This property shall contain the type of session. |
UserName | string | This property shall contain the user name for the account for this session. |
task
Description
This resource contains a task for a Redfish implementation.
Fields
| Field | Type | Description |
|---|---|---|
Description | Description | |
EndTime | string | This property shall indicate the date and time when the task was completed. This property shall not appear if the task is running or otherwise has not been completed. This property shall appear only if the `TaskState` is `Completed`, `Killed`, `Cancelled`, or `Exception`. |
EstimatedDuration | string | This property shall indicate the estimated total time needed to complete the task. The value is not expected to change while the task is in progress, but the service may update the value if it obtains new information that significantly changes the expected duration. Services should be conservative in the reported estimate and clients should treat this value as an estimate. |
HidePayload | boolean | This property shall indicate whether the contents of the payload should be hidden from view after the task has been created. If `true`, responses shall not return the `Payload` property. If `false`, responses shall return the `Payload` property. If this property is not present when the task is created, the default is `false`. This property shall be supported if the `Payload` property is supported. |
Id | Id | |
Links | Links | The `Links` property, as described by the Redfish Specification, shall contain references to resources that are related to but are not contained by, or subordinate to, this resource. |
Messages | array | This property shall contain an array of messages associated with the task. |
Name | Name | |
Oem | Oem | This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. |
Payload | Payload | This object shall contain information detailing the HTTP and JSON request payload information for executing this task. This property shall not be included in the response if the `HidePayload` property is `true`. |
PercentComplete | integer | This property shall indicate the completion progress of the task, reported in percent of completion, `0` to `100`. If the task has not been started, the value shall be zero. |
StartTime | string | This property shall indicate the date and time when the task was started. |
SubTasks | TaskCollection | This property shall contain a link to a resource collection of type `TaskCollection`. This property shall not be present if this resource represents a sub-task for a task. |
TaskMonitor | string | This property shall contain a URI to task monitor as defined in the Redfish Specification. |
TaskState | TaskState | This property shall indicate the state of the task. |
TaskStatus | Health | This property shall contain the completion status of the task and shall not be set until the task completes. This property should contain `Critical` if one or more messages in the `Messages` array contains the severity `Critical`. This property should contain `Warning` if one or more messages in the `Messages` array contains the severity `Warning` and if no messages contain the severity `Critical`. This property should contain `OK` if all messages in the `Messages` array contain the severity `OK` or if the array is empty. |
TaskService
Description
This resource contains a task service for a Redfish implementation.
Fields
| Field | Type | Description |
|---|---|---|
CompletedTaskOverWritePolicy | OverWritePolicy | This property shall contain the overwrite policy for completed tasks. This property shall indicate if the task service overwrites completed task information. |
LifeCycleEventOnTaskStateChange | boolean | This property shall indicate whether a task state change sends an event. Services should send an event containing a message defined in the Task Event Message Registry when the state of a task changes. |
Name | Name | |
Oem | Oem | This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. |
ServiceEnabled | boolean | This property shall indicate whether this service is enabled. |
Status | Status | This property shall contain any status or health properties of the resource. |
TaskAutoDeleteTimeoutMinutes | integer | This property shall contain the number of minutes after which a completed task, where `TaskState` contains the value `Completed`, `Killed`, `Cancelled`, or `Exception`, is deleted by the service. |
Tasks | TaskCollection | This property shall contain a link to a resource collection of type `TaskCollection`. |
TelemetryService
Description
This resource contains a telemetry service for a Redfish implementation.
Fields
| Field | Type | Description |
|---|---|---|
Description | Description | |
Id | Id | |
LogService | LogService | This property shall contain a link to a resource of type `LogService` that this telemetry service uses. |
MaxReports | integer | This property shall contain the maximum number of metric reports that this service supports. |
MetricDefinitions | MetricDefinitionCollection | This property shall contain a link to a resource collection of type `MetricDefinitionCollection`. |
MetricReports | MetricReportCollection | This property shall contain a link to a resource collection of type `MetricReportCollection`. |
MinCollectionInterval | string | This property shall contain the minimum time interval between gathering metric data that this service allows. |
Name | Name | |
Oem | Oem | This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. |
ServiceEnabled | boolean | This property shall indicate whether this service is enabled. |
Status | Status | This property shall contain any status or health properties of the resource. |
TelemetryData | TelemetryDataCollection | This property shall contain a link to a resource collection of type `TelemetryDataCollection`. |
ThermalSubsystem
Description
This resource shall represent a thermal subsystem for a Redfish implementation.
Fields
| Field | Type | Description |
|---|---|---|
Description | Description | |
FanRedundancy | array | This property shall contain redundancy information for the groups of fans in this subsystem. |
Fans | FanCollection | This property shall contain a link to a resource collection of type `FanCollection`. |
Filters | FilterCollection | This property shall contain a link to a resource collection of type `FilterCollection` that contains the filters for this equipment. |
Id | Id | |
Name | Name | |
Oem | Oem | This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. |
Pumps | PumpCollection | This property shall contain a link to a resource collection of type `PumpCollection` that contains details for the pumps included in this equipment. |
Status | Status | This property shall contain any status or health properties of the resource. |
ThermalMetrics | ThermalMetrics | This property shall contain a link to a resource of type `ThermalMetrics`. |
UpdateService
Description
This resource shall represent an update service and the properties that affect the service itself for a Redfish implementation.
Fields
| Field | Type | Description |
|---|---|---|
ClientCertificates | CertificateCollection | This property shall contain a link to a resource collection of type `CertificateCollection` that represents the client identity certificates that are provided to the server referenced by the `ImageURI` parameter in `SimpleUpdate` as part of TLS handshaking. |
Description | Description | |
FirmwareInventory | SoftwareInventoryCollection | This property shall contain a link to a resource collection of type `SoftwareInventoryCollection`. The resource collection should contain the set of software components generally referred to as platform firmware or that does not execute within a host operating system. Software in this collection is generally updated using platform-specific methods or utilities. |
HttpPushUri | string | This property shall contain a URI at which the update service supports an HTTP or HTTPS `POST` of a software image for the purpose of installing software contained within the image. Access to this URI shall require the same privilege as access to the update service. If the service requires the `Content-Length` header for `POST` requests to this URI, the service should return HTTP `411 Length Required` status code if the client does not include this header in the `POST` request. The value of this property should not contain a URI of a Redfish resource. See the ‘Redfish-defined URIs and relative reference rules’ clause in the Redfish Specification. |
HttpPushUriOptions | HttpPushUriOptions | This property shall contain options and requirements of the service for `HttpPushUri`-provided software updates. |
HttpPushUriOptionsBusy | boolean | This property shall indicate whether a client uses the `HttpPushUriOptions` properties for software updates. When a client uses any `HttpPushUriOptions` properties for software updates, it should set this property to `true`. When a client no longer uses `HttpPushUriOptions` properties for software updates, it should set this property to `false`. This property can provide multiple clients a way to negotiate ownership of `HttpPushUriOptions` properties. Clients can use this property to determine whether another client uses `HttpPushUriOptions` properties for software updates. This property has no functional requirements for the service. |
Name | Name | |
Oem | Oem | This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements. |
PublicIdentitySSHKey | Key | This property shall contain a link to a resource of type `Key` that represents the public key that is used with the `SimpleUpdate` action for the key-based authentication. This property shall not be present if a key-pair is not available. |
RemoteServerCertificates | CertificateCollection | This property shall contain a link to a resource collection of type `CertificateCollection` that represents the server certificates for the server referenced by the `ImageURI` parameter in `SimpleUpdate`. If `VerifyRemoteServerCertificate` is `true`, services shall compare the certificates in this collection with the certificate obtained during handshaking with the image server in order to verify the identity of the image server prior to transferring the image. If the server cannot be verified, the service shall not send the transfer request. If `VerifyRemoteServerCertificate` is `false`, the service shall not perform certificate verification with certificates in this collection. Regardless of the contents of this collection, services may perform additional verification based on other factors, such as the configuration of the `SecurityPolicy` resource. |
RemoteServerSSHKeys | KeyCollection | This property shall contain a link to a resource collection of type `KeyCollection` that represents the server SSH keys for the server referenced by the `ImageURI` Parameter in `SimpleUpdate`. If `VerifyRemoteServerSSHKey` is `true`, services shall compare the keys in this collection with the key obtained during handshaking with the image server in order to verify the identity of the image server prior to transferring the image. If the server cannot be verified, the service shall not send the transfer request. If `VerifyRemoteServerSSHKey` is `false`, the service shall not perform key verification with keys in this collection. |
ServiceEnabled | boolean | This property shall indicate whether this service is enabled. |
SoftwareInventory | SoftwareInventoryCollection | This property shall contain a link to a resource collection of type `SoftwareInventoryCollection`. The resource collection should contain the set of software components executed in the context of a host operating system. This can include device drivers, applications, or offload workloads. Software in this collection is generally updated using operating system-centric methods. |
Status | Status | This property shall contain any status or health properties of the resource. |
SupportedUpdateImageFormats | array | This property shall contain the image format types supported by the service. |
VerifyRemoteServerCertificate | boolean | This property shall indicate whether the service will verify the certificate of the server referenced by the `ImageURI` parameter in `SimpleUpdate` prior to sending the transfer request with the certificates found in the collection referenced by the `RemoteServerCertificates` property. If this property is not supported by the service, it shall be assumed to be `false`. This property should default to `false` in order to maintain compatibility with older clients. Regardless of the value of this property, services may perform additional verification based on other factors, such as the configuration of the `SecurityPolicy` resource. |
VerifyRemoteServerSSHKey | boolean | This property shall indicate whether the service will verify the SSH key of the server referenced by the `ImageURI` parameter in `SimpleUpdate` prior to sending the transfer request with the keys found in the collection referenced by the `RemoteServerSSHKeys` property. If this property is not supported by the service, it shall be assumed to be `false`. This property should default to `false` in order to maintain compatibility with older clients. |
Redfish Resources
ServiceRoot
Path: /redfish/v1
The entry point for all Redfish operations.
{
"@odata.type": "#ServiceRoot.v1_0_0.ServiceRoot",
"Id": "RootService",
"Name": "Memory Appliance Service Root",
"RedfishVersion": "1.19.0",
"UUID": "...",
"Systems": { "@odata.id": "/redfish/v1/Systems" },
"Chassis": { "@odata.id": "/redfish/v1/Chassis" }
}
Systems
Path: /redfish/v1/Systems/{id}
Computer system resources.
Operations:
GET- Retrieve system informationPATCH- Update system properties
Actions:
ComputerSystem.Reset- Power control
Chassis
Path: /redfish/v1/Chassis/{id}
Physical chassis resources.
Operations:
GET- Retrieve chassis informationPATCH- Update chassis properties
Managers
Path: /redfish/v1/Managers/{id}
Management controller resources.
Sessions
Path: /redfish/v1/SessionService
Session management for authentication.
Tasks
Path: /redfish/v1/TaskService
Asynchronous operation tracking.
Redfish Examples
Basic Operations
Get Service Root
curl http://localhost:8080/redfish/v1/
List Systems
curl http://localhost:8080/redfish/v1/Systems
Get System Details
curl http://localhost:8080/redfish/v1/Systems/1
Power Control
Power On
curl -X POST http://localhost:8080/redfish/v1/Systems/1/Actions/ComputerSystem.Reset \
-H "Content-Type: application/json" \
-d '{"ResetType": "On"}'
Power Off
curl -X POST http://localhost:8080/redfish/v1/Systems/1/Actions/ComputerSystem.Reset \
-H "Content-Type: application/json" \
-d '{"ResetType": "GracefulShutdown"}'
Force Restart
curl -X POST http://localhost:8080/redfish/v1/Systems/1/Actions/ComputerSystem.Reset \
-H "Content-Type: application/json" \
-d '{"ResetType": "ForceRestart"}'
PATCH Operations
Update System Name
curl -X PATCH http://localhost:8080/redfish/v1/Systems/1 \
-H "Content-Type: application/json" \
-d '{"Name": "My Server"}'
Using Python
import requests
# Get service root
response = requests.get('http://localhost:8080/redfish/v1/')
print(response.json())
# Power on system
response = requests.post(
'http://localhost:8080/redfish/v1/Systems/1/Actions/ComputerSystem.Reset',
json={'ResetType': 'On'}
)
print(response.status_code)
Using PowerShell
# Get service root
Invoke-RestMethod -Uri 'http://localhost:8080/redfish/v1/'
# Power on system
$body = @{ ResetType = "On" } | ConvertTo-Json
Invoke-RestMethod -Method Post `
-Uri 'http://localhost:8080/redfish/v1/Systems/1/Actions/ComputerSystem.Reset' `
-Body $body `
-ContentType 'application/json'
TLS Configuration
Enabling TLS
The Memory Appliance supports TLS for both gRPC and Redfish APIs.
Generate Certificates
# Generate development certificates
cargo run --bin gen_certs
# Or use the provided script
./scripts/generate-dev-certs.sh
Configure TLS in config.json
{
"features": {
"disable_tls": false
},
"tls": {
"cert_path": "/etc/smartforge/certs/server.crt",
"key_path": "/etc/smartforge/certs/server.key",
"ca_cert_path": "/etc/smartforge/certs/ca.crt"
}
}
Client Configuration
gRPC with TLS
#![allow(unused)]
fn main() {
use tonic::transport::{Channel, ClientTlsConfig};
let tls = ClientTlsConfig::new()
.ca_certificate(Certificate::from_pem(ca_cert))
.domain_name("localhost");
let channel = Channel::from_static("https://localhost:50051")
.tls_config(tls)?
.connect()
.await?;
}
Redfish with TLS
curl --cacert certs/ca.crt https://localhost:8080/redfish/v1/
Certificate Management
See CERTS.md for complete certificate management documentation.
Authentication
PAM Authentication (Linux)
The Memory Appliance supports PAM (Pluggable Authentication Modules) for Redfish API authentication on Linux systems.
Configuration
{
"features": {
"disable_auth": false
},
"auth": {
"pam_service": "smartforge"
}
}
PAM Configuration File
Create /etc/pam.d/smartforge:
auth required pam_unix.so
account required pam_unix.so
Using Authentication
# Create session
curl -X POST http://localhost:8080/redfish/v1/SessionService/Sessions \
-H "Content-Type: application/json" \
-d '{"UserName": "admin", "Password": "password"}'
# Use session token
curl http://localhost:8080/redfish/v1/Systems \
-H "X-Auth-Token: your-session-token"
gRPC Authentication
For gRPC, authentication is typically handled at the TLS layer using client certificates or custom metadata.
See PAM_AUTHENTICATION.md for complete authentication documentation.
Glossary
API Terms
gRPC: Google Remote Procedure Call - High-performance RPC framework
Redfish: DMTF standard for RESTful hardware management
Protocol Buffers: Language-neutral data serialization format
Bidirectional Streaming: Communication pattern where both client and server send messages simultaneously
OpenAPI: Specification for describing REST APIs
Redfish Terms
ServiceRoot: Entry point for the Redfish API
OData: Open Data Protocol used by Redfish
Collection: Group of related resources
Action: Operation that can be performed on a resource
Memory Appliance Terms
Memory Appliance: Managed memory device
Chassis: Physical enclosure
OMM: Optical Memory Module
Virtual Pool: Virtualized memory allocation