1/** 2 * Redfish type definitions 3 * These mirror the Redfish schema and preserve PascalCase property names 4 */ 5 6/** 7 * Redfish Status object 8 */ 9export interface RedfishStatus { 10 State?: string; 11 Health?: string; 12 HealthRollup?: string; 13} 14 15/** 16 * Redfish Sensor Thresholds 17 */ 18export interface SensorThresholds { 19 LowerCritical?: { 20 Reading?: number; 21 Activation?: string; 22 }; 23 LowerCaution?: { 24 Reading?: number; 25 Activation?: string; 26 }; 27 UpperCaution?: { 28 Reading?: number; 29 Activation?: string; 30 }; 31 UpperCritical?: { 32 Reading?: number; 33 Activation?: string; 34 }; 35} 36 37/** 38 * Redfish Sensor resource 39 * Preserves Redfish property names (PascalCase) 40 */ 41export interface Sensor { 42 '@odata.id': string; 43 '@odata.type': string; 44 Id: string; 45 Name: string; 46 Status?: RedfishStatus; 47 Reading?: number; 48 ReadingUnits?: string; 49 ReadingType?: string; 50 Thresholds?: SensorThresholds; 51 // Legacy properties for backward compatibility 52 ReadingCelsius?: number; 53 ReadingVolts?: number; 54 LowerThresholdNonCritical?: number; 55 UpperThresholdNonCritical?: number; 56 LowerThresholdCritical?: number; 57 UpperThresholdCritical?: number; 58} 59 60/** 61 * Redfish Memory resource 62 */ 63export interface Memory { 64 '@odata.id': string; 65 '@odata.type': string; 66 Id: string; 67 Name: string; 68 Status?: RedfishStatus; 69 CapacityMiB?: number; 70 MemoryDeviceType?: string; 71 Manufacturer?: string; 72 PartNumber?: string; 73 SerialNumber?: string; 74} 75 76/** 77 * Redfish Drive resource 78 */ 79export interface Drive { 80 '@odata.id': string; 81 '@odata.type': string; 82 Id: string; 83 Name: string; 84 Status?: RedfishStatus; 85 CapacityBytes?: number; 86 MediaType?: string; 87 Manufacturer?: string; 88 Model?: string; 89 SerialNumber?: string; 90 Protocol?: string; 91} 92 93/** 94 * Redfish Processor resource 95 */ 96export interface Processor { 97 '@odata.id': string; 98 '@odata.type': string; 99 Id: string; 100 Name: string; 101 Status?: RedfishStatus; 102 ProcessorType?: string; 103 ProcessorArchitecture?: string; 104 InstructionSet?: string; 105 Manufacturer?: string; 106 Model?: string; 107 MaxSpeedMHz?: number; 108 TotalCores?: number; 109 TotalThreads?: number; 110} 111 112/** 113 * Redfish Chassis resource 114 */ 115export interface Chassis { 116 '@odata.id': string; 117 '@odata.type': string; 118 Id: string; 119 Name: string; 120 ChassisType?: string; 121 Manufacturer?: string; 122 Model?: string; 123 SerialNumber?: string; 124 PartNumber?: string; 125 Status?: RedfishStatus; 126 Sensors?: { '@odata.id': string }; 127 Thermal?: { '@odata.id': string }; 128 Power?: { '@odata.id': string }; 129 PowerSubsystem?: { '@odata.id': string }; 130} 131 132/** 133 * Redfish System resource 134 */ 135export interface System { 136 '@odata.id': string; 137 '@odata.type': string; 138 Id: string; 139 Name: string; 140 SystemType?: string; 141 Manufacturer?: string; 142 Model?: string; 143 SerialNumber?: string; 144 PartNumber?: string; 145 Status?: RedfishStatus; 146 PowerState?: string; 147 BiosVersion?: string; 148 Memory?: { '@odata.id': string }; 149 Processors?: { '@odata.id': string }; 150} 151