@lansweeper/discovery-sensor-proto 2.85.0 → 2.87.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,7 +1,11 @@
1
1
  {
2
2
  "name": "@lansweeper/discovery-sensor-proto",
3
3
  "description": "Discovery Sensor proto",
4
- "version": "2.85.0",
4
+ "version": "2.87.0",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/Lansweeper/lansweeperapis.git"
8
+ },
5
9
  "main": "gen-proto/index.js",
6
10
  "types": "gen-proto/index.d.ts",
7
11
  "license": "MIT",
@@ -16,9 +20,6 @@
16
20
  "devDependencies": {
17
21
  "@types/google-protobuf": "^3.15.5"
18
22
  },
19
- "gitHead": "1828c26f6786872e548236aed86b30c8c3c5f07b",
20
- "repository": {
21
- "type": "git",
22
- "url": "https://github.com/Lansweeper/lansweeperapis.git"
23
+ "publishConfig": {
23
24
  }
24
- }
25
+ }
@@ -46,6 +46,18 @@ message Snmp {
46
46
 
47
47
  google.protobuf.StringValue processor_architecture = 27;
48
48
  google.protobuf.UInt64Value total_memory = 28;
49
+
50
+ /* Stack/chassis discovery for stacked switches.
51
+ * Populated by SnmpStackScanner when device responds to vendor-specific
52
+ * (Cisco StackWise, HP/Aruba VSF, Juniper VC) or generic (STACK-MIB, ENTITY-MIB) OIDs.
53
+ * Null when device is not stacked. */
54
+ SnmpStackInfo stack_info = 29;
55
+
56
+ /* Chassis module inventory for modular chassis switches (e.g. Cisco Catalyst 9400,
57
+ * Nexus 9500, HP/Aruba modular, Juniper EX/MX). Populated by SnmpChassisModuleScanner
58
+ * via ENTITY-MIB (RFC 6933) entPhysicalTable containment hierarchy.
59
+ * Null when device has no discoverable chassis modules. */
60
+ SnmpBusConfigData chassis_info = 30;
49
61
  }
50
62
 
51
63
  message SnmpCustomOid {
@@ -118,6 +130,72 @@ message SnmpArpEntry {
118
130
  google.protobuf.UInt32Value mapping_type = 5; // other(1), invalid(2), dynamic(3), static(4)
119
131
  }
120
132
 
133
+ /* Stack/chassis info for multi-member switch stacks.
134
+ * Discovered via Cisco StackWise MIB, HP/Aruba VSF MIB, Juniper Virtual Chassis MIB,
135
+ * a legacy OID tree at 1.3.6.1.2.1.105 (kept only as an opportunistic probe — not a
136
+ * real IETF stack MIB), or ENTITY-MIB (RFC 6933) entPhysicalClass=chassis(3)/stack(11)
137
+ * as the standards-based fallback. */
138
+ message SnmpStackInfo {
139
+ repeated SnmpStackMember members = 1;
140
+ SnmpStackProtocol protocol = 2;
141
+ }
142
+
143
+ message SnmpStackMember {
144
+ google.protobuf.Int32Value member_id = 1;
145
+ SnmpStackRole role = 2;
146
+ google.protobuf.StringValue mac_address = 3;
147
+ google.protobuf.StringValue serial_number = 4;
148
+ google.protobuf.StringValue model = 5;
149
+ google.protobuf.StringValue description = 6;
150
+ google.protobuf.Int32Value priority = 7;
151
+ SnmpStackMemberState state = 8;
152
+ /* Running firmware / software image identifier. Populated from
153
+ * cswSwitchSoftwareImage (Cisco) and jnxVirtualChassisMemberSoftwareVersion
154
+ * (Juniper). Not exposed by HP-VSF-VC-MIB or ENTITY-MIB. */
155
+ google.protobuf.StringValue software_image = 9;
156
+ /* ENTITY-MIB (RFC 6933) entPhysicalIndex of the member's chassis entry.
157
+ * Authoritative when the scanner used the ENTITY_MIB fallback (member_id
158
+ * is then derived from this index). Also populated on vendor-discovered
159
+ * members when the scanner was able to join the vendor stack row to the
160
+ * corresponding chassis entity, making the per-member identity stable
161
+ * across rediscoveries and debuggable against raw SNMP walks. */
162
+ google.protobuf.Int32Value ent_physical_index = 10;
163
+ }
164
+
165
+ enum SnmpStackProtocol {
166
+ SNMP_STACK_PROTOCOL_UNKNOWN = 0;
167
+ SNMP_STACK_PROTOCOL_CISCO_STACKWISE = 1;
168
+ SNMP_STACK_PROTOCOL_HP_VSF = 2;
169
+ SNMP_STACK_PROTOCOL_JUNIPER_VC = 3;
170
+ /* Legacy opportunistic probe at 1.3.6.1.2.1.105 (not an IETF standard). */
171
+ SNMP_STACK_PROTOCOL_GENERIC_STACK_MIB = 4;
172
+ /* Standards-based fallback: ENTITY-MIB (RFC 6933) entPhysicalClass chassis/stack. */
173
+ SNMP_STACK_PROTOCOL_ENTITY_MIB = 5;
174
+ }
175
+
176
+ enum SnmpStackRole {
177
+ SNMP_STACK_ROLE_UNKNOWN = 0;
178
+ SNMP_STACK_ROLE_MASTER = 1;
179
+ SNMP_STACK_ROLE_MEMBER = 2;
180
+ SNMP_STACK_ROLE_STANDBY = 3;
181
+ }
182
+
183
+ /* State of a stack member. Specific mismatch values are populated when the
184
+ * scanner can distinguish the cause (Cisco cswSwitchState values 5/6/7/11);
185
+ * DEGRADED remains as a generic bucket for devices that only report a
186
+ * coarse "unhealthy" signal. */
187
+ enum SnmpStackMemberState {
188
+ SNMP_STACK_MEMBER_STATE_UNKNOWN = 0;
189
+ SNMP_STACK_MEMBER_STATE_READY = 1;
190
+ SNMP_STACK_MEMBER_STATE_NOT_READY = 2;
191
+ SNMP_STACK_MEMBER_STATE_PROVISIONING = 3;
192
+ SNMP_STACK_MEMBER_STATE_DEGRADED = 4;
193
+ SNMP_STACK_MEMBER_STATE_VERSION_MISMATCH = 5;
194
+ SNMP_STACK_MEMBER_STATE_FEATURE_MISMATCH = 6;
195
+ SNMP_STACK_MEMBER_STATE_SDM_MISMATCH = 7;
196
+ SNMP_STACK_MEMBER_STATE_REMOVED = 8;
197
+ }
198
+
121
199
  /* Warranty API scanning root object */
122
200
  message Warranties {
123
201
  repeated Warranty entries = 1;
@@ -130,4 +208,43 @@ message Warranty {
130
208
  google.protobuf.StringValue service_type = 3;
131
209
  google.protobuf.StringValue purchase_country = 4;
132
210
  optional google.protobuf.Timestamp ship_date = 5;
133
- }
211
+ }
212
+
213
+ /* Chassis module inventory via ENTITY-MIB (RFC 6933) entPhysicalTable.
214
+ * Mirrors the OT BusConfigData/ModuleData contract shape for consistency
215
+ * across IT and OT scanning pipelines. */
216
+ message SnmpBusConfigData {
217
+ repeated SnmpBusConfig entries = 1;
218
+ }
219
+
220
+ message SnmpBusConfig {
221
+ uint32 index = 1;
222
+ google.protobuf.StringValue name = 2;
223
+ uint32 max_size = 3;
224
+ repeated SnmpModuleData modules = 4;
225
+ google.protobuf.StringValue type = 5;
226
+ uint32 module_start_index = 6;
227
+ }
228
+
229
+ message SnmpModuleData {
230
+ string component_type = 1;
231
+ google.protobuf.StringValue name = 2;
232
+ google.protobuf.StringValue mac = 3;
233
+ google.protobuf.StringValue manufacturer = 4;
234
+ google.protobuf.StringValue serial_number = 5;
235
+ google.protobuf.StringValue model = 6;
236
+ google.protobuf.StringValue firmware = 7;
237
+ google.protobuf.StringValue part_number = 8;
238
+ google.protobuf.Int32Value position_in_bus_config = 9;
239
+ google.protobuf.UInt32Value width = 10;
240
+ repeated SnmpModuleExtendedInformation extended_information = 11;
241
+ repeated SnmpBusConfig bus_config = 12;
242
+ reserved 13;
243
+ reserved "firmware_history";
244
+ google.protobuf.StringValue route_path = 14;
245
+ }
246
+
247
+ message SnmpModuleExtendedInformation {
248
+ string key = 1;
249
+ string value = 2;
250
+ }
@@ -1000,6 +1000,126 @@ message HyperV {
1000
1000
  google.protobuf.StringValue name = 4;
1001
1001
  }
1002
1002
 
1003
+ /* Section element for Hyper-V guest network adapter configuration on Windows.
1004
+ * Source: Msvm_GuestNetworkAdapterConfiguration (per-adapter guest network config).
1005
+ * Replaces deprecated KVP keys (NetworkAddressIPv4, NetworkAddressIPv6, RDPAddressIPv4, RDPAddressIPv6). */
1006
+ message WindowsHyperVGuestNetwork {
1007
+ repeated HyperVGuestNetworkAdapter entries = 1;
1008
+ }
1009
+
1010
+ message HyperVGuestNetworkAdapter {
1011
+ google.protobuf.StringValue instance_id = 1;
1012
+ google.protobuf.BoolValue dhcp_enabled = 2;
1013
+ repeated string ip_addresses = 3;
1014
+ repeated string subnets = 4;
1015
+ repeated string default_gateways = 5;
1016
+ repeated string dns_servers = 6;
1017
+ /* Protocol interface type per IANA IfType — discriminates IPv4 (4096) from
1018
+ * IPv6 (4097). Needed to disambiguate which protocol family the adapter
1019
+ * entry represents when a single guest NIC has both v4 and v6 config. */
1020
+ google.protobuf.UInt32Value protocol_if_type = 7;
1021
+ /* Per-IP-address origin code (static, DHCP, etc.); parallel-indexed with
1022
+ * ip_addresses. Values per CIM IPAddressOrigin enum. */
1023
+ repeated uint32 ip_address_origins = 8;
1024
+ }
1025
+
1026
+ /* Section element for Hyper-V VM settings on Windows.
1027
+ * Source: Msvm_VirtualSystemSettingData (realized VMs only, excludes snapshots).
1028
+ * Contains VM identity, generation, BIOS info, and cluster invariant ID for live migration tracking. */
1029
+ message WindowsHyperVSettings {
1030
+ repeated HyperVSettings entries = 1;
1031
+ }
1032
+
1033
+ message HyperVSettings {
1034
+ google.protobuf.StringValue virtual_system_identifier = 1;
1035
+ google.protobuf.StringValue element_name = 2;
1036
+ google.protobuf.StringValue virtual_system_sub_type = 3;
1037
+ google.protobuf.StringValue version = 4;
1038
+ google.protobuf.StringValue creation_time = 5;
1039
+ repeated string notes = 6;
1040
+ google.protobuf.StringValue bios_serial_number = 7;
1041
+ google.protobuf.StringValue bios_guid = 8;
1042
+ google.protobuf.StringValue cluster_invariant_id = 9;
1043
+ /* Additional asset-identification fields from Msvm_VirtualSystemSettingData.
1044
+ * Useful for matching VM inventory against chassis/asset records. */
1045
+ google.protobuf.StringValue base_board_serial_number = 10;
1046
+ google.protobuf.StringValue chassis_serial_number = 11;
1047
+ google.protobuf.StringValue chassis_asset_tag = 12;
1048
+ /* Full virtualization type descriptor (e.g. "Microsoft:Hyper-V:System:Realized").
1049
+ * Sensor already filters to realized VMs in the query, but retaining the raw
1050
+ * value lets consumers distinguish realized/snapshot/planned if the filter
1051
+ * is ever relaxed. */
1052
+ google.protobuf.StringValue virtual_system_type = 13;
1053
+ }
1054
+
1055
+ /* Section element for Hyper-V guest KVP (Key-Value Pair) exchange data on Windows.
1056
+ * Source: Msvm_KvpExchangeComponent (GuestIntrinsicExchangeItems from Integration Services).
1057
+ * Deprecated network address keys (NetworkAddressIPv4/IPv6, RDPAddressIPv4/IPv6) are filtered out.
1058
+ *
1059
+ * Field set is driven by what Hyper-V hosts empirically emit, not by the
1060
+ * Microsoft public documentation (which is incomplete) nor the Linux
1061
+ * hv_kvp_daemon source (which describes one specific daemon but not what
1062
+ * the host ultimately surfaces for every guest type):
1063
+ *
1064
+ * Windows guests (OSPlatformId=2) populate fields 2-18 — including
1065
+ * os_signature and os_vendor which are emitted by Windows Server 2019
1066
+ * and later but not listed in public docs.
1067
+ *
1068
+ * Linux guests (OSPlatformId=129) are observed to populate a distinct
1069
+ * subset: os_platform_id plus fields 19-21 (os_distribution_name,
1070
+ * os_distribution_data, os_kernel_version) — and NOT the
1071
+ * os_name/os_version/etc. fields that hv_kvp_daemon's AUTO pool
1072
+ * theoretically emits. Other Linux guest integrations may emit
1073
+ * different key combinations. */
1074
+ message WindowsHyperVKvp {
1075
+ repeated HyperVKvpEntry entries = 1;
1076
+ }
1077
+
1078
+ message HyperVKvpEntry {
1079
+ string system_name = 1;
1080
+ // Windows guest fields (OSPlatformId = 2)
1081
+ google.protobuf.StringValue os_name = 2;
1082
+ google.protobuf.StringValue os_version = 3;
1083
+ google.protobuf.StringValue os_build_number = 4;
1084
+ google.protobuf.StringValue os_major_version = 5;
1085
+ google.protobuf.StringValue os_minor_version = 6;
1086
+ google.protobuf.StringValue os_edition_id = 7;
1087
+ google.protobuf.StringValue os_platform_id = 8;
1088
+ google.protobuf.StringValue os_signature = 9;
1089
+ google.protobuf.StringValue os_vendor = 10;
1090
+ google.protobuf.StringValue product_type = 11;
1091
+ google.protobuf.StringValue suite_mask = 12;
1092
+ google.protobuf.StringValue processor_architecture = 13;
1093
+ google.protobuf.StringValue csd_version = 14;
1094
+ google.protobuf.StringValue service_pack_major = 15;
1095
+ google.protobuf.StringValue service_pack_minor = 16;
1096
+ google.protobuf.StringValue fully_qualified_domain_name = 17;
1097
+ google.protobuf.StringValue integration_services_version = 18;
1098
+ // Linux guest fields (OSPlatformId = 129) — observed on real scans,
1099
+ // distinct from the Windows key set.
1100
+ google.protobuf.StringValue os_distribution_name = 19;
1101
+ google.protobuf.StringValue os_distribution_data = 20;
1102
+ google.protobuf.StringValue os_kernel_version = 21;
1103
+ }
1104
+
1105
+ /* Section element for Hyper-V VM processor allocation on Windows.
1106
+ * Source: Msvm_ProcessorSettingData (per-VM CPU settings, definition entries filtered). */
1107
+ message WindowsHyperVProcessor {
1108
+ repeated HyperVProcessorEntry entries = 1;
1109
+ }
1110
+
1111
+ message HyperVProcessorEntry {
1112
+ google.protobuf.StringValue instance_id = 1;
1113
+ google.protobuf.UInt32Value virtual_quantity = 2;
1114
+ google.protobuf.UInt32Value reservation = 3;
1115
+ google.protobuf.UInt32Value limit = 4;
1116
+ /* Relative scheduling priority vs other VMs; default 100. */
1117
+ google.protobuf.UInt32Value weight = 5;
1118
+ /* True when CPU features are limited for live-migration compatibility across
1119
+ * hosts with different processor generations. */
1120
+ google.protobuf.BoolValue limit_processor_features = 6;
1121
+ }
1122
+
1003
1123
  /* Section element for hard disks on Windows */
1004
1124
  message WindowsHardDisk {
1005
1125
  repeated HardDisk entries = 1;