Skip to content

Commit 2cb20c0

Browse files
committed
[inventory] Add documentation
Signed-off-by: Boris Glimcher <Boris.Glimcher@emc.com>
1 parent 18c8c62 commit 2cb20c0

File tree

1 file changed

+96
-0
lines changed

1 file changed

+96
-0
lines changed

common/v1/inventory.proto

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,48 +16,144 @@ service InventorySvc {
1616
rpc InventoryGet (InventoryGetRequest) returns (InventoryGetResponse) {}
1717
}
1818

19+
// Doc taken from https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_3.6.0.pdf
20+
21+
// BIOS Information (Type 0)
1922
message BIOSInfo {
23+
// String number of the BIOS Vendor’s Name.
2024
string vendor = 1;
25+
// String number of the BIOS Version. This value is a
26+
// free-form string that may contain Core and OEM
27+
// version information.
2128
string version = 2;
29+
// String number of the BIOS release date. The date
30+
// string, if supplied, is in either mm/dd/yy or
31+
// mm/dd/yyyy format. If the year portion of the string
32+
// is two digits, the year is assumed to be 19yy.
33+
// NOTE: The mm/dd/yyyy format is required for SMBIOS
34+
// version 2.3 and later
2235
string date = 3;
2336
}
2437

38+
// System Information (Type 1)
39+
// The information in this structure defines attributes of the overall system and is intended to be associated
40+
// with the Component ID group of the system’s MIF. An SMBIOS implementation is associated with a single
41+
// system instance and contains one and only one System Information (Type 1) structure. Table 10 shows
42+
// the contents of this structure.
2543
message SystemInfo {
44+
// Number of null-terminated string
45+
// This text string identifies the family to which a
46+
// particular computer belongs. A family refers to a
47+
// set of computers that are similar but not identical
48+
// from a hardware or software point of view.
49+
// Typically, a family is composed of different
50+
// computer models, which have different
51+
// configurations and pricing points. Computers in
52+
// the same family often have similar branding and
53+
// cosmetic features.
2654
string family = 1;
55+
// Number of null-terminated string
2756
string name = 2;
57+
// Number of null-terminated string
2858
string vendor = 3;
59+
// Number of null-terminated string
2960
string serial_number = 4;
61+
// A UUID is an identifier that is designed to be unique across both time and space. It requires no central
62+
// registration process. The UUID is 128 bits long. Its format is described in RFC4122, but the actual field
63+
// contents are opaque and not significant to the SMBIOS specification, which is only concerned with the
64+
// byte order. Table 11 shows the field names; these field names, particularly for multiplexed fields, follow
65+
// historical practice.
3066
string uuid = 5;
67+
// Number of null-terminated string
68+
// This text string identifies a particular computer
69+
// configuration for sale. It is sometimes also called
70+
// a product ID or purchase order number. This
71+
// number is frequently found in existing fields, but
72+
// there is no standard format. Typically for a given
73+
// system board from a given OEM, there are tens
74+
// of unique processor, memory, hard drive, and
75+
// optical drive configurations.
3176
string sku = 6;
77+
// Number of null-terminated string
3278
string version = 7;
3379
}
3480

81+
// System Enclosure or Chassis (Type 3)
82+
// The information in this structure (see Table 16) defines attributes of the system’s mechanical
83+
// enclosure(s). For example, if a system included a separate enclosure for its peripheral devices, two
84+
// structures would be returned: one for the main system enclosure and the second for the peripheral device
85+
// enclosure. The additions to this structure in version 2.1 of this specification support the population of the
86+
// CIM_Chassis class.
3587
message ChassisInfo{
88+
// Number of null-terminated string
3689
string asset_tag = 1;
90+
// Number of null-terminated string
3791
string serial_number = 2;
92+
// Bit 7 Chassis lock is present if 1.
93+
// Otherwise, either a lock is not present, or it is unknown if the enclosure has a lock.
94+
// Bits 6:0 Enumeration value; see below.
3895
string type = 3;
96+
// Table 17 shows the byte values for the System Enclosure or Chassis Types field
97+
// Number of null-terminated string
3998
string type_description = 4;
99+
// Number of null-terminated string
40100
string vendor = 5;
101+
// Number of null-terminated string
41102
string version = 6;
42103
}
43104

105+
// Baseboard (or Module) Information (Type 2)
106+
// The information in this structure defines attributes of a system baseboard (for
107+
// example, a motherboard, planar, server blade, or other standard system module)
44108
message BaseboardInfo{
109+
// Number of a null-terminated string
45110
string asset_tag = 1;
111+
// Number of null-terminated string
46112
string serial_number = 2;
113+
// Number of null-terminated string
47114
string vendor = 3;
115+
// Number of null-terminated string
48116
string version = 4;
117+
// Number of null-terminated string
49118
string product = 5;
50119
}
51120

121+
// Processor Information (Type 4)
122+
// The information in this structure (see Table 21) defines the attributes of a single processor; a separate
123+
// structure instance is provided for each system processor socket/slot. For example, a system with an
124+
// IntelDX2™ processor would have a single structure instance while a system with an IntelSX2™ processor
125+
// would have a structure to describe the main CPU and a second structure to describe the 80487 co1054 processor.
52126
message CPUInfo{
127+
// Number of cores per processor socket
128+
// See 7.5.6. If the value is unknown, the field is set
129+
// to 0. For core counts of 256 or greater, the Core
130+
// Count field is set to FFh and the Core Count 2
131+
// field is set to the number of cores.
53132
int32 total_cores = 1;
133+
// Number of threads per processor socket
134+
// See 7.5.8. If the value is unknown, the field is set
135+
// to 0. For thread counts of 256 or greater, the
136+
// Thread Count field is set to FFh and the Thread
137+
// Count 2 field is set to the number of threads.
54138
int32 total_threads = 2;
55139
}
56140

141+
// Physical Memory Array (Type 16)
142+
// This structure describes a collection of memory devices that operate together to form a memory address
143+
// space.
57144
message MemoryInfo{
145+
// Maximum memory capacity, in kilobytes, for this array
146+
// If the capacity is not represented in this field, then this
147+
// field contains 8000 0000h and the Extended
148+
// Maximum Capacity field should be used. Values 2 TB
149+
// (8000 0000h) or greater must be represented in the
150+
// Extended Maximum Capacity field.
58151
int64 total_physical_bytes = 1;
152+
// TBD
59153
int64 total_usable_bytes = 2;
60154
}
155+
156+
// TODO: remove this message
61157
message DeviceInfo {
62158
string name = 1;
63159
string description = 2;

0 commit comments

Comments
 (0)