| edition = "2023"; |
| |
| package milotic_tlbmc; |
| |
| import "google/protobuf/duration.proto"; |
| import "google/protobuf/timestamp.proto"; |
| |
| // Refresh mode of telemetry data. |
| enum RefreshMode { |
| // Default value. |
| REFRESH_MODE_UNSPECIFIED = 0; |
| // Data is refreshed on demand. |
| REFRESH_MODE_ON_DEMAND = 1; |
| // Data is refreshed periodically. |
| REFRESH_MODE_PERIODIC = 2; |
| } |
| |
| message RefreshPolicy { |
| // Refresh mode of telemetry data. |
| RefreshMode refresh_mode = 1; |
| // Refresh interval of telemetry data. |
| google.protobuf.Duration refresh_interval = 2; |
| } |
| |
| // State of telemetry data. |
| enum Status { |
| // Data has not been initialized by the collector. |
| // Default state on boot. |
| STATUS_UNKNOWN = 0; |
| // Fresh data ready to be served. |
| STATUS_READY = 1; |
| // State when data refresh timed out or an error occurred preventing future |
| // refreshes. |
| STATUS_STALE = 2; |
| } |
| |
| // Type of the resource object. |
| enum ResourceType { |
| RESOURCE_TYPE_UNSPECIFIED = 0; |
| RESOURCE_TYPE_BOARD = 1; |
| RESOURCE_TYPE_CABLE = 2; |
| RESOURCE_TYPE_PROCESSOR = 3; |
| RESOURCE_TYPE_STORAGE = 4; |
| RESOURCE_TYPE_COMPUTER_SYSTEM = 5; |
| RESOURCE_TYPE_FAN = 6; |
| RESOURCE_TYPE_ASSEMBLY = 7; |
| } |
| |
| // Type of the chassis, used when resource type is RESOURCE_TYPE_BOARD. |
| // See ChassisType in: https://redfish.dmtf.org/schemas/v1/Chassis.v1_26_0.json |
| enum ChassisType { |
| CHASSIS_TYPE_UNSPECIFIED = 0; |
| CHASSIS_TYPE_RACK_MOUNT = 1; |
| CHASSIS_TYPE_MODULE = 2; |
| CHASSIS_TYPE_STORAGE_ENCLOSURE = 3; |
| CHASSIS_TYPE_COMPONENT = 4; |
| CHASSIS_TYPE_STANDALONE = 5; |
| } |
| |
| message ChassisProperties { |
| ChassisType chassis_type = 1; |
| bool bmcnet = 2; |
| } |
| |
| message Attributes { |
| // Unique key of the resource. |
| string key = 1; |
| // Status of the resource. |
| Status status = 2; |
| // Refresh mode of the resource. |
| RefreshPolicy refresh_policy = 3; |
| // Last time the resource was refreshed. |
| google.protobuf.Timestamp last_refreshed_time = 4; |
| google.protobuf.Timestamp next_refreshed_time = 5; |
| // Status message. Can be used to provide more details about the status |
| // especially when the status is not ready. |
| string status_message = 6; |
| // Type of the resource. |
| ResourceType resource_type = 7; |
| // Properties for Chassis resources, only exist when resource type is |
| // RESOURCE_TYPE_BOARD. |
| ChassisProperties chassis_properties = 8; |
| } |
| |
| // State of the resource. |
| message State { |
| Status status = 1; |
| string status_message = 2; |
| } |