move the library to ONF

Change-Id: I383437e2934ce04cc1a7dc332134f7308991776f
diff --git a/grpc_robot/services/__init__.py b/grpc_robot/services/__init__.py
new file mode 100644
index 0000000..b1ed822
--- /dev/null
+++ b/grpc_robot/services/__init__.py
@@ -0,0 +1,13 @@
+# Copyright 2020-present Open Networking Foundation
+# Original copyright 2020-present ADTRAN, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
diff --git a/grpc_robot/services/dmi/__init__.py b/grpc_robot/services/dmi/__init__.py
new file mode 100644
index 0000000..b1ed822
--- /dev/null
+++ b/grpc_robot/services/dmi/__init__.py
@@ -0,0 +1,13 @@
+# Copyright 2020-present Open Networking Foundation
+# Original copyright 2020-present ADTRAN, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
diff --git a/grpc_robot/services/dmi/dmi_0_10_1/__init__.py b/grpc_robot/services/dmi/dmi_0_10_1/__init__.py
new file mode 100644
index 0000000..a96b5a5
--- /dev/null
+++ b/grpc_robot/services/dmi/dmi_0_10_1/__init__.py
@@ -0,0 +1,14 @@
+# Copyright 2020-present Open Networking Foundation
+# Original copyright 2020-present ADTRAN, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+from ..dmi_0_9_9 import *
diff --git a/grpc_robot/services/dmi/dmi_0_10_1/dmi.json b/grpc_robot/services/dmi/dmi_0_10_1/dmi.json
new file mode 100644
index 0000000..98802e6
--- /dev/null
+++ b/grpc_robot/services/dmi/dmi_0_10_1/dmi.json
@@ -0,0 +1 @@
+{"modules": [{"name": "commons", "imports": []}, {"name": "hw", "imports": ["timestamp"]}, {"name": "hw_metrics_mgmt_service", "imports": ["commons", "hw"]}, {"name": "hw_events_mgmt_service", "imports": ["commons", "hw", "timestamp"]}, {"name": "sw_image", "imports": ["commons"]}, {"name": "hw_management_service", "imports": ["commons", "hw", "empty"]}, {"name": "sw_management_service", "imports": ["commons", "hw", "sw_image"]}], "data_types": [{"name": "Status", "type": "enum", "module": "commons", "values": {"0": "UNDEFINED_STATUS", "1": "OK_STATUS", "2": "ERROR_STATUS"}}, {"name": "LogLevel", "type": "enum", "module": "commons", "values": {"0": "TRACE", "1": "DEBUG", "2": "INFO", "3": "WARN", "4": "ERROR"}}, {"name": "Uuid", "type": "message", "module": "hw", "fields": [{"name": "uuid", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "HardwareID", "type": "message", "module": "hw", "fields": [{"name": "uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "Uri", "type": "message", "module": "hw", "fields": [{"name": "uri", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ComponentType", "type": "enum", "module": "hw", "values": {"0": "COMPONENT_TYPE_UNDEFINED", "1": "COMPONENT_TYPE_UNKNOWN", "2": "COMPONENT_TYPE_CHASSIS", "3": "COMPONENT_TYPE_BACKPLANE", "4": "COMPONENT_TYPE_CONTAINER", "5": "COMPONENT_TYPE_POWER_SUPPLY", "6": "COMPONENT_TYPE_FAN", "7": "COMPONENT_TYPE_SENSOR", "8": "COMPONENT_TYPE_MODULE", "9": "COMPONENT_TYPE_PORT", "10": "COMPONENT_TYPE_CPU", "11": "COMPONENT_TYPE_BATTERY", "12": "COMPONENT_TYPE_STORAGE", "13": "COMPONENT_TYPE_MEMORY", "14": "COMPONENT_TYPE_TRANSCEIVER"}}, {"name": "ComponentAdminState", "type": "enum", "module": "hw", "values": {"0": "COMP_ADMIN_STATE_UNDEFINED", "1": "COMP_ADMIN_STATE_UNKNOWN", "2": "COMP_ADMIN_STATE_LOCKED", "3": "COMP_ADMIN_STATE_SHUTTING_DOWN", "4": "COMP_ADMIN_STATE_UNLOCKED"}}, {"name": "ComponentOperState", "type": "enum", "module": "hw", "values": {"0": "COMP_OPER_STATE_UNDEFINED", "1": "COMP_OPER_STATE_UNKNOWN", "2": "COMP_OPER_STATE_DISABLED", "3": "COMP_OPER_STATE_ENABLED", "4": "COMP_OPER_STATE_TESTING"}}, {"name": "ComponentUsageState", "type": "enum", "module": "hw", "values": {"0": "COMP_USAGE_STATE_UNDEFINED", "1": "COMP_USAGE_STATE_UNKNOWN", "2": "COMP_USAGE_STATE_IDLE", "3": "COMP_USAGE_STATE_ACTIVE", "4": "COMP_USAGE_STATE_BUSY"}}, {"name": "ComponentAlarmState", "type": "enum", "module": "hw", "values": {"0": "COMP_ALARM_STATE_UNDEFINED", "1": "COMP_ALARM_STATE_UNKNOWN", "2": "COMP_ALARM_STATE_UNDER_REPAIR", "3": "COMP_ALARM_STATE_CRITICAL", "4": "COMP_ALARM_STATE_MAJOR", "5": "COMP_ALARM_STATE_MINOR", "6": "COMP_ALARM_STATE_WARNING", "7": "COMP_ALARM_STATE_INDETERMINATE"}}, {"name": "ComponentStandbyState", "type": "enum", "module": "hw", "values": {"0": "COMP_STANDBY_STATE_UNDEFINED", "1": "COMP_STANDBY_STATE_UNKNOWN", "2": "COMP_STANDBY_STATE_HOT", "3": "COMP_STANDBY_STATE_COLD", "4": "COMP_STANDBY_STATE_PROVIDING_SERVICE"}}, {"name": "ComponentState", "type": "message", "module": "hw", "fields": [{"name": "state_last_changed", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "admin_state", "is_choice": false, "repeated": false, "type": "ComponentAdminState", "lookup": true}, {"name": "oper_state", "is_choice": false, "repeated": false, "type": "ComponentOperState", "lookup": true}, {"name": "usage_state", "is_choice": false, "repeated": false, "type": "ComponentUsageState", "lookup": true}, {"name": "alarm_state", "is_choice": false, "repeated": false, "type": "ComponentAlarmState", "lookup": true}, {"name": "standby_state", "is_choice": false, "repeated": false, "type": "ComponentStandbyState", "lookup": true}]}, {"name": "DataValueType", "type": "enum", "module": "hw", "values": {"0": "VALUE_TYPE_UNDEFINED", "1": "VALUE_TYPE_OTHER", "2": "VALUE_TYPE_UNKNOWN", "3": "VALUE_TYPE_VOLTS_AC", "4": "VALUE_TYPE_VOLTS_DC", "5": "VALUE_TYPE_AMPERES", "6": "VALUE_TYPE_WATTS", "7": "VALUE_TYPE_HERTZ", "8": "VALUE_TYPE_CELSIUS", "9": "VALUE_TYPE_PERCENT_RH", "10": "VALUE_TYPE_RPM", "11": "VALUE_TYPE_CMM", "12": "VALUE_TYPE_TRUTH_VALUE"}}, {"name": "ValueScale", "type": "enum", "module": "hw", "values": {"0": "VALUE_SCALE_UNDEFINED", "1": "VALUE_SCALE_YOCTO", "2": "VALUE_SCALE_ZEPTO", "3": "VALUE_SCALE_ATTO", "4": "VALUE_SCALE_FEMTO", "5": "VALUE_SCALE_PICO", "6": "VALUE_SCALE_NANO", "7": "VALUE_SCALE_MICRO", "8": "VALUE_SCALE_MILLI", "9": "VALUE_SCALE_UNITS", "10": "VALUE_SCALE_KILO", "11": "VALUE_SCALE_MEGA", "12": "VALUE_SCALE_GIGA", "13": "VALUE_SCALE_TERA", "14": "VALUE_SCALE_PETA", "15": "VALUE_SCALE_EXA", "16": "VALUE_SCALE_ZETTA", "17": "VALUE_SCALE_YOTTA"}}, {"name": "SensorStatus", "type": "enum", "module": "hw", "values": {"0": "SENSOR_STATUS_UNDEFINED", "1": "SENSOR_STATUS_OK", "2": "SENSOR_STATUS_UNAVAILABLE", "3": "SENSOR_STATUS_NONOPERATIONAL"}}, {"name": "ComponentSensorData", "type": "message", "module": "hw", "fields": [{"name": "value", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "type", "is_choice": false, "repeated": false, "type": "DataValueType", "lookup": true}, {"name": "scale", "is_choice": false, "repeated": false, "type": "ValueScale", "lookup": true}, {"name": "precision", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "status", "is_choice": false, "repeated": false, "type": "SensorStatus", "lookup": true}, {"name": "units_display", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "timestamp", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "value_update_rate", "is_choice": false, "repeated": false, "type": "uint32", "lookup": false}, {"name": "data_type", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ConnectorType", "type": "enum", "module": "hw", "values": {"0": "CONNECTOR_TYPE_UNDEFINED", "1": "RJ45", "2": "FIBER_LC", "3": "FIBER_SC_PC", "4": "FIBER_MPO"}}, {"name": "Speed", "type": "enum", "module": "hw", "values": {"0": "SPEED_UNDEFINED", "1": "DYNAMIC", "2": "GIGABIT_1", "3": "GIGABIT_10", "4": "GIGABIT_25", "5": "GIGABIT_40", "6": "GIGABIT_100", "7": "GIGABIT_400", "8": "MEGABIT_2500", "9": "MEGABIT_1250"}}, {"name": "Protocol", "type": "enum", "module": "hw", "values": {"0": "PROTOCOL_UNDEFINED", "1": "ETHERNET", "2": "GPON", "3": "XGPON", "4": "XGSPON", "5": "GFAST", "6": "SERIAL", "7": "EPON"}}, {"name": "PortComponentAttributes", "type": "message", "module": "hw", "fields": [{"name": "connector_type", "is_choice": false, "repeated": false, "type": "ConnectorType", "lookup": true}, {"name": "speed", "is_choice": false, "repeated": false, "type": "Speed", "lookup": true}, {"name": "protocol", "is_choice": false, "repeated": false, "type": "Protocol", "lookup": true}, {"name": "physical_label", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ContainerComponentAttributes", "type": "message", "module": "hw", "fields": [{"name": "physical_label", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "SupportedVoltage", "type": "enum", "module": "hw", "values": {"0": "SUPPORTED_VOLTAGE_UNDEFINED", "1": "V48", "2": "V230", "3": "V115"}}, {"name": "PsuComponentAttributes", "type": "message", "module": "hw", "fields": [{"name": "supported_voltage", "is_choice": false, "repeated": false, "type": "SupportedVoltage", "lookup": true}]}, {"name": "FormFactor", "type": "enum", "module": "hw", "values": {"0": "FORM_FACTOR_UNKNOWN", "1": "QSFP", "2": "QSFP_PLUS", "3": "QSFP28", "4": "SFP", "5": "SFP_PLUS", "6": "XFP", "7": "CFP4", "8": "CFP2", "9": "CPAK", "10": "X2", "11": "OTHER", "12": "CFP", "13": "CFP2_ACO", "14": "CFP2_DCO"}}, {"name": "Type", "type": "enum", "module": "hw", "values": {"0": "TYPE_UNKNOWN", "1": "ETHERNET", "2": "GPON", "3": "XGPON", "4": "XGSPON", "5": "CPON", "6": "NG_PON2", "7": "EPON"}}, {"name": "TransceiverComponentsAttributes", "type": "message", "module": "hw", "fields": [{"name": "form_factor", "is_choice": false, "repeated": false, "type": "FormFactor", "lookup": true}, {"name": "trans_type", "is_choice": false, "repeated": false, "type": "Type", "lookup": true}, {"name": "max_distance", "is_choice": false, "repeated": false, "type": "uint32", "lookup": false}, {"name": "max_distance_scale", "is_choice": false, "repeated": false, "type": "ValueScale", "lookup": true}, {"name": "rx_wavelength", "is_choice": false, "repeated": true, "type": "uint32", "lookup": false}, {"name": "tx_wavelength", "is_choice": false, "repeated": true, "type": "uint32", "lookup": false}, {"name": "wavelength_scale", "is_choice": false, "repeated": false, "type": "ValueScale", "lookup": true}]}, {"name": "Component", "type": "message", "module": "hw", "fields": [{"name": "name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "class", "is_choice": false, "repeated": false, "type": "ComponentType", "lookup": true}, {"name": "description", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "parent", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "parent_rel_pos", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "children", "is_choice": false, "repeated": true, "type": "Component", "lookup": true}, {"name": "hardware_rev", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "firmware_rev", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "software_rev", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "serial_num", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "mfg_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "model_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "alias", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "asset_id", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "is_fru", "is_choice": false, "repeated": false, "type": "bool", "lookup": false}, {"name": "mfg_date", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "uri", "is_choice": false, "repeated": false, "type": "Uri", "lookup": true}, {"name": "uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "state", "is_choice": false, "repeated": false, "type": "ComponentState", "lookup": true}, {"name": "sensor_data", "is_choice": false, "repeated": true, "type": "ComponentSensorData", "lookup": true}, {"name": "specific", "is_choice": true, "cases": [{"name": "port_attr", "type": "PortComponentAttributes", "lookup": true}, {"name": "container_attr", "type": "ContainerComponentAttributes", "lookup": true}, {"name": "psu_attr", "type": "PsuComponentAttributes", "lookup": true}, {"name": "transceiver_attr", "type": "TransceiverComponentsAttributes", "lookup": true}]}]}, {"name": "Hardware", "type": "message", "module": "hw", "fields": [{"name": "last_change", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "root", "is_choice": false, "repeated": false, "type": "Component", "lookup": true}, {"name": "last_booted", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}]}, {"name": "ModifiableComponent", "type": "message", "module": "hw", "fields": [{"name": "name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "class", "is_choice": false, "repeated": false, "type": "ComponentType", "lookup": true}, {"name": "parent", "is_choice": false, "repeated": false, "type": "Component", "lookup": true}, {"name": "parent_rel_pos", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "alias", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "asset_id", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "uri", "is_choice": false, "repeated": false, "type": "Uri", "lookup": true}, {"name": "admin_state", "is_choice": false, "repeated": false, "type": "ComponentAdminState", "lookup": true}]}, {"name": "MetricNames", "type": "enum", "module": "hw_metrics_mgmt_service", "values": {"0": "METRIC_NAME_UNDEFINED", "1": "METRIC_FAN_SPEED", "100": "METRIC_CPU_TEMP", "101": "METRIC_CPU_USAGE_PERCENTAGE", "200": "METRIC_TRANSCEIVER_TEMP", "201": "METRIC_TRANSCEIVER_VOLTAGE", "202": "METRIC_TRANSCEIVER_BIAS", "203": "METRIC_TRANSCEIVER_RX_POWER", "204": "METRIC_TRANSCEIVER_TX_POWER", "205": "METRIC_TRANSCEIVER_WAVELENGTH", "300": "METRIC_DISK_TEMP", "301": "METRIC_DISK_CAPACITY", "302": "METRIC_DISK_USAGE", "303": "METRIC_DISK_USAGE_PERCENTAGE", "304": "METRIC_DISK_READ_WRITE_PERCENTAGE", "305": "METRIC_DISK_FAULTY_CELLS_PERCENTAGE", "400": "METRIC_RAM_TEMP", "401": "METRIC_RAM_CAPACITY", "402": "METRIC_RAM_USAGE", "403": "METRIC_RAM_USAGE_PERCENTAGE", "500": "METRIC_POWER_MAX", "501": "METRIC_POWER_USAGE", "502": "METRIC_POWER_USAGE_PERCENTAGE", "600": "METRIC_INNER_SURROUNDING_TEMP"}}, {"name": "MetricConfig", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "metric_id", "is_choice": false, "repeated": false, "type": "MetricNames", "lookup": true}, {"name": "is_configured", "is_choice": false, "repeated": false, "type": "bool", "lookup": false}, {"name": "poll_interval", "is_choice": false, "repeated": false, "type": "uint32", "lookup": false}]}, {"name": "MetricsConfig", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "metrics", "is_choice": false, "repeated": true, "type": "MetricConfig", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_metrics_mgmt_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "DEVICE_UNREACHABLE"}}, {"name": "ListMetricsResponse", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "metrics", "is_choice": false, "repeated": false, "type": "MetricsConfig", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "MetricsConfigurationRequest", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "operation", "is_choice": true, "cases": [{"name": "changes", "type": "MetricsConfig", "lookup": true}, {"name": "reset_to_default", "type": "bool", "lookup": false}]}]}, {"name": "Reason", "type": "enum", "module": "hw_metrics_mgmt_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "POLL_INTERVAL_UNSUPPORTED", "4": "INVALID_METRIC", "5": "DEVICE_UNREACHABLE"}}, {"name": "MetricsConfigurationResponse", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "MetricMetaData", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Metric", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "metric_id", "is_choice": false, "repeated": false, "type": "MetricNames", "lookup": true}, {"name": "metric_metadata", "is_choice": false, "repeated": false, "type": "MetricMetaData", "lookup": true}, {"name": "value", "is_choice": false, "repeated": false, "type": "ComponentSensorData", "lookup": true}]}, {"name": "GetMetricRequest", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "meta_data", "is_choice": false, "repeated": false, "type": "MetricMetaData", "lookup": true}, {"name": "metric_id", "is_choice": false, "repeated": false, "type": "MetricNames", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_metrics_mgmt_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "UNKNOWN_COMPONENT", "3": "INTERNAL_ERROR", "4": "INVALID_METRIC", "5": "DEVICE_UNREACHABLE"}}, {"name": "GetMetricResponse", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "metric", "is_choice": false, "repeated": false, "type": "Metric", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "EventIds", "type": "enum", "module": "hw_events_mgmt_service", "values": {"0": "EVENT_NAME_UNDEFINED", "100": "EVENT_TRANSCEIVER_PLUG_OUT", "101": "EVENT_TRANSCEIVER_PLUG_IN", "102": "EVENT_TRANSCEIVER_VOLTAGE_ABOVE_THRESHOLD", "103": "EVENT_TRANSCEIVER_VOLTAGE_BELOW_THRESHOLD", "104": "EVENT_TRANSCEIVER_TEMPERATURE_ABOVE_THRESHOLD", "105": "EVENT_TRANSCEIVER_TEMPERATURE_BELOW_THRESHOLD", "106": "EVENT_TRANSCEIVER_CURRENT_ABOVE_THRESHOLD", "107": "EVENT_TRANSCEIVER_CURRENT_BELOW_THRESHOLD", "108": "EVENT_TRANSCEIVER_RX_POWER_ABOVE_THRESHOLD", "109": "EVENT_TRANSCEIVER_RX_POWER_BELOW_THRESHOLD", "110": "EVENT_TRANSCEIVER_TX_POWER_ABOVE_THRESHOLD", "111": "EVENT_TRANSCEIVER_TX_POWER_BELOW_THRESHOLD", "112": "EVENT_TRANSCEIVER_FAILURE", "113": "EVENT_TRANSCEIVER_VOLTAGE_ABOVE_THRESHOLD_RECOVERED", "114": "EVENT_TRANSCEIVER_VOLTAGE_BELOW_THRESHOLD_RECOVERED", "115": "EVENT_TRANSCEIVER_TEMPERATURE_ABOVE_THRESHOLD_RECOVERED", "116": "EVENT_TRANSCEIVER_TEMPERATURE_BELOW_THRESHOLD_RECOVERED", "117": "EVENT_TRANSCEIVER_CURRENT_ABOVE_THRESHOLD_RECOVERED", "118": "EVENT_TRANSCEIVER_CURRENT_BELOW_THRESHOLD_RECOVERED", "119": "EVENT_TRANSCEIVER_RX_POWER_ABOVE_THRESHOLD_RECOVERED", "120": "EVENT_TRANSCEIVER_RX_POWER_BELOW_THRESHOLD_RECOVERED", "121": "EVENT_TRANSCEIVER_TX_POWER_ABOVE_THRESHOLD_RECOVERED", "122": "EVENT_TRANSCEIVER_TX_POWER_BELOW_THRESHOLD_RECOVERED", "123": "EVENT_TRANSCEIVER_FAILURE_RECOVERED", "200": "EVENT_PSU_PLUG_OUT", "201": "EVENT_PSU_PLUG_IN", "202": "EVENT_PSU_FAILURE", "203": "EVENT_PSU_FAILURE_RECOVERED", "300": "EVENT_FAN_FAILURE", "301": "EVENT_FAN_PLUG_OUT", "302": "EVENT_FAN_PLUG_IN", "303": "EVENT_FAN_FAILURE_RECOVERED", "400": "EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL", "401": "EVENT_CPU_TEMPERATURE_ABOVE_FATAL", "402": "EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL_RECOVERED", "403": "EVENT_CPU_TEMPERATURE_ABOVE_FATAL_RECOVERED", "500": "EVENT_HW_DEVICE_RESET", "501": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL", "502": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL", "503": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL_RECOVERED", "504": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL_RECOVERED"}}, {"name": "ValueType", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "val", "is_choice": true, "cases": [{"name": "int_val", "type": "int64", "lookup": false}, {"name": "uint_val", "type": "uint64", "lookup": false}, {"name": "float_val", "type": "float", "lookup": false}]}]}, {"name": "WaterMarks", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "high", "is_choice": false, "repeated": false, "type": "ValueType", "lookup": true}, {"name": "low", "is_choice": false, "repeated": false, "type": "ValueType", "lookup": true}]}, {"name": "Thresholds", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "threshold", "is_choice": true, "cases": [{"name": "upper", "type": "WaterMarks", "lookup": true}, {"name": "lower", "type": "WaterMarks", "lookup": true}]}]}, {"name": "ThresholdInformation", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "observed_value", "is_choice": false, "repeated": false, "type": "ValueType", "lookup": true}, {"name": "thresholds", "is_choice": false, "repeated": false, "type": "Thresholds", "lookup": true}]}, {"name": "EventCfg", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "event_id", "is_choice": false, "repeated": false, "type": "EventIds", "lookup": true}, {"name": "is_configured", "is_choice": false, "repeated": false, "type": "bool", "lookup": false}, {"name": "thresholds", "is_choice": false, "repeated": false, "type": "Thresholds", "lookup": true}]}, {"name": "EventsCfg", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "items", "is_choice": false, "repeated": true, "type": "EventCfg", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_events_mgmt_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "DEVICE_UNREACHABLE"}}, {"name": "ListEventsResponse", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "events", "is_choice": false, "repeated": false, "type": "EventsCfg", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "EventsConfigurationRequest", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "operation", "is_choice": true, "cases": [{"name": "changes", "type": "EventsCfg", "lookup": true}, {"name": "reset_to_default", "type": "bool", "lookup": false}]}]}, {"name": "Reason", "type": "enum", "module": "hw_events_mgmt_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "INVALID_CONFIG", "4": "DEVICE_UNREACHABLE"}}, {"name": "EventsConfigurationResponse", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "EventMetaData", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Event", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "event_metadata", "is_choice": false, "repeated": false, "type": "EventMetaData", "lookup": true}, {"name": "event_id", "is_choice": false, "repeated": false, "type": "EventIds", "lookup": true}, {"name": "raised_ts", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "threshold_info", "is_choice": false, "repeated": false, "type": "ThresholdInformation", "lookup": true}, {"name": "add_info", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ImageVersion", "type": "message", "module": "sw_image", "fields": [{"name": "image_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "version", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ImageInformation", "type": "message", "module": "sw_image", "fields": [{"name": "image", "is_choice": false, "repeated": false, "type": "ImageVersion", "lookup": true}, {"name": "image_install_script", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "image_url", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "sha256sum", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ImageState", "type": "enum", "module": "sw_image", "values": {"0": "UNDEFINED_STATE", "1": "COPYING_IMAGE", "2": "INSTALLING_IMAGE", "3": "COMMITTING_IMAGE", "4": "REBOOTING_DEVICE", "5": "UPGRADE_COMPLETE", "6": "UPGRADE_FAILED", "7": "ACTIVATION_COMPLETE", "8": "ACTIVATION_FAILED"}}, {"name": "Reason", "type": "enum", "module": "sw_image", "values": {"0": "UNDEFINED_REASON", "1": "ERROR_IN_REQUEST", "2": "INTERNAL_ERROR", "3": "DEVICE_IN_WRONG_STATE", "4": "INVALID_IMAGE", "5": "WRONG_IMAGE_CHECKSUM", "6": "OPERATION_ALREADY_IN_PROGRESS", "7": "UNKNOWN_DEVICE", "8": "DEVICE_NOT_REACHABLE"}}, {"name": "ImageStatus", "type": "message", "module": "sw_image", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "state", "is_choice": false, "repeated": false, "type": "ImageState", "lookup": true}, {"name": "description", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "PhysicalInventoryRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "DEVICE_UNREACHABLE"}}, {"name": "PhysicalInventoryResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "inventory", "is_choice": false, "repeated": false, "type": "Hardware", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "HWComponentInfoGetRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "UNKNOWN_COMPONENT", "3": "INTERNAL_ERROR", "4": "DEVICE_UNREACHABLE"}}, {"name": "HWComponentInfoGetResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "component", "is_choice": false, "repeated": false, "type": "Component", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "HWComponentInfoSetRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "changes", "is_choice": false, "repeated": false, "type": "ModifiableComponent", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "UNKNOWN_COMPONENT", "3": "INVALID_PARAMS", "4": "INTERNAL_ERROR", "5": "DEVICE_UNREACHABLE"}}, {"name": "HWComponentInfoSetResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "DEVICE_ALREADY_MANAGED", "2": "OPERATION_ALREADY_IN_PROGRESS", "3": "INVALID_PARAMS", "4": "INTERNAL_ERROR"}}, {"name": "StartManagingDeviceResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "StopManagingDeviceRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE"}}, {"name": "StopManagingDeviceResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ManagedDevicesResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "devices", "is_choice": false, "repeated": true, "type": "ModifiableComponent", "lookup": true}]}, {"name": "SetLoggingEndpointRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "logging_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "logging_protocol", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "LOGGING_ENDPOINT_ERROR", "4": "LOGGING_ENDPOINT_PROTOCOL_ERROR", "5": "MSGBUS_ENDPOINT_ERROR", "6": "DEVICE_UNREACHABLE"}}, {"name": "SetRemoteEndpointResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "DEVICE_UNREACHABLE"}}, {"name": "GetLoggingEndpointResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "logging_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "logging_protocol", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "SetMsgBusEndpointRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "msgbus_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "INTERNAL_ERROR", "2": "DEVICE_UNREACHABLE"}}, {"name": "GetMsgBusEndpointResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "msgbus_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "EntitiesLogLevel", "type": "message", "module": "hw_management_service", "fields": [{"name": "logLevel", "is_choice": false, "repeated": false, "type": "LogLevel", "lookup": true}, {"name": "entities", "is_choice": false, "repeated": true, "type": "string", "lookup": false}]}, {"name": "SetLogLevelRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "loglevels", "is_choice": false, "repeated": true, "type": "EntitiesLogLevel", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "UNKNOWN_LOG_ENTITY", "4": "DEVICE_UNREACHABLE"}}, {"name": "SetLogLevelResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "GetLogLevelRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "entities", "is_choice": false, "repeated": true, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "UNKNOWN_LOG_ENTITY", "4": "DEVICE_UNREACHABLE"}}, {"name": "GetLogLevelResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "logLevels", "is_choice": false, "repeated": true, "type": "EntitiesLogLevel", "lookup": true}, {"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "GetLoggableEntitiesRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "SoftwareVersionInformation", "type": "message", "module": "sw_management_service", "fields": [{"name": "active_versions", "is_choice": false, "repeated": true, "type": "ImageVersion", "lookup": true}, {"name": "standby_versions", "is_choice": false, "repeated": true, "type": "ImageVersion", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "sw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "DEVICE_UNREACHABLE"}}, {"name": "GetSoftwareVersionInformationResponse", "type": "message", "module": "sw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "info", "is_choice": false, "repeated": false, "type": "SoftwareVersionInformation", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "DownloadImageRequest", "type": "message", "module": "sw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "image_info", "is_choice": false, "repeated": false, "type": "ImageInformation", "lookup": true}]}, {"name": "ConfigRequest", "type": "message", "module": "sw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "config_url", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "sw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "ERROR_FETCHING_CONFIG", "4": "INVALID_CONFIG", "5": "OPERATION_ALREADY_IN_PROGRESS", "6": "DEVICE_UNREACHABLE"}}, {"name": "ConfigResponse", "type": "message", "module": "sw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "StartupConfigInfoRequest", "type": "message", "module": "sw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "sw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "DEVICE_UNREACHABLE"}}, {"name": "StartupConfigInfoResponse", "type": "message", "module": "sw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "config_url", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "version", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}], "services": [{"name": "NativeMetricsManagementService", "module": "hw_metrics_mgmt_service", "rpcs": [{"name": "ListMetrics", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "ListMetricsResponse", "lookup": true}}, {"name": "UpdateMetricsConfiguration", "request": {"is_stream": false, "type": "MetricsConfigurationRequest", "lookup": true}, "response": {"is_stream": false, "type": "MetricsConfigurationResponse", "lookup": true}}, {"name": "GetMetric", "request": {"is_stream": false, "type": "GetMetricRequest", "lookup": true}, "response": {"is_stream": false, "type": "GetMetricResponse", "lookup": true}}]}, {"name": "NativeEventsManagementService", "module": "hw_events_mgmt_service", "rpcs": [{"name": "ListEvents", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "ListEventsResponse", "lookup": true}}, {"name": "UpdateEventsConfiguration", "request": {"is_stream": false, "type": "EventsConfigurationRequest", "lookup": true}, "response": {"is_stream": false, "type": "EventsConfigurationResponse", "lookup": true}}]}, {"name": "NativeHWManagementService", "module": "hw_management_service", "rpcs": [{"name": "StartManagingDevice", "request": {"is_stream": false, "type": "ModifiableComponent", "lookup": true}, "response": {"is_stream": true, "type": "StartManagingDeviceResponse", "lookup": true}}, {"name": "StopManagingDevice", "request": {"is_stream": false, "type": "StopManagingDeviceRequest", "lookup": true}, "response": {"is_stream": false, "type": "StopManagingDeviceResponse", "lookup": true}}, {"name": "GetManagedDevices", "request": {"is_stream": false, "type": "google.protobuf.Empty", "lookup": false}, "response": {"is_stream": false, "type": "ManagedDevicesResponse", "lookup": true}}, {"name": "GetPhysicalInventory", "request": {"is_stream": false, "type": "PhysicalInventoryRequest", "lookup": true}, "response": {"is_stream": true, "type": "PhysicalInventoryResponse", "lookup": true}}, {"name": "GetHWComponentInfo", "request": {"is_stream": false, "type": "HWComponentInfoGetRequest", "lookup": true}, "response": {"is_stream": true, "type": "HWComponentInfoGetResponse", "lookup": true}}, {"name": "SetHWComponentInfo", "request": {"is_stream": false, "type": "HWComponentInfoSetRequest", "lookup": true}, "response": {"is_stream": false, "type": "HWComponentInfoSetResponse", "lookup": true}}, {"name": "SetLoggingEndpoint", "request": {"is_stream": false, "type": "SetLoggingEndpointRequest", "lookup": true}, "response": {"is_stream": false, "type": "SetRemoteEndpointResponse", "lookup": true}}, {"name": "GetLoggingEndpoint", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "GetLoggingEndpointResponse", "lookup": true}}, {"name": "SetMsgBusEndpoint", "request": {"is_stream": false, "type": "SetMsgBusEndpointRequest", "lookup": true}, "response": {"is_stream": false, "type": "SetRemoteEndpointResponse", "lookup": true}}, {"name": "GetMsgBusEndpoint", "request": {"is_stream": false, "type": "google.protobuf.Empty", "lookup": false}, "response": {"is_stream": false, "type": "GetMsgBusEndpointResponse", "lookup": true}}, {"name": "GetLoggableEntities", "request": {"is_stream": false, "type": "GetLoggableEntitiesRequest", "lookup": true}, "response": {"is_stream": false, "type": "GetLogLevelResponse", "lookup": true}}, {"name": "SetLogLevel", "request": {"is_stream": false, "type": "SetLogLevelRequest", "lookup": true}, "response": {"is_stream": false, "type": "SetLogLevelResponse", "lookup": true}}, {"name": "GetLogLevel", "request": {"is_stream": false, "type": "GetLogLevelRequest", "lookup": true}, "response": {"is_stream": false, "type": "GetLogLevelResponse", "lookup": true}}]}, {"name": "NativeSoftwareManagementService", "module": "sw_management_service", "rpcs": [{"name": "GetSoftwareVersion", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "GetSoftwareVersionInformationResponse", "lookup": true}}, {"name": "DownloadImage", "request": {"is_stream": false, "type": "DownloadImageRequest", "lookup": true}, "response": {"is_stream": true, "type": "ImageStatus", "lookup": true}}, {"name": "ActivateImage", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": true, "type": "ImageStatus", "lookup": true}}, {"name": "RevertToStandbyImage", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": true, "type": "ImageStatus", "lookup": true}}, {"name": "UpdateStartupConfiguration", "request": {"is_stream": false, "type": "ConfigRequest", "lookup": true}, "response": {"is_stream": true, "type": "ConfigResponse", "lookup": true}}, {"name": "GetStartupConfigurationInfo", "request": {"is_stream": false, "type": "StartupConfigInfoRequest", "lookup": true}, "response": {"is_stream": false, "type": "StartupConfigInfoResponse", "lookup": true}}]}]}
\ No newline at end of file
diff --git a/grpc_robot/services/dmi/dmi_0_10_2/__init__.py b/grpc_robot/services/dmi/dmi_0_10_2/__init__.py
new file mode 100644
index 0000000..abb0bf7
--- /dev/null
+++ b/grpc_robot/services/dmi/dmi_0_10_2/__init__.py
@@ -0,0 +1,14 @@
+# Copyright 2020-present Open Networking Foundation
+# Original copyright 2020-present ADTRAN, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+from ..dmi_0_10_1 import *
diff --git a/grpc_robot/services/dmi/dmi_0_10_2/dmi.json b/grpc_robot/services/dmi/dmi_0_10_2/dmi.json
new file mode 100644
index 0000000..98802e6
--- /dev/null
+++ b/grpc_robot/services/dmi/dmi_0_10_2/dmi.json
@@ -0,0 +1 @@
+{"modules": [{"name": "commons", "imports": []}, {"name": "hw", "imports": ["timestamp"]}, {"name": "hw_metrics_mgmt_service", "imports": ["commons", "hw"]}, {"name": "hw_events_mgmt_service", "imports": ["commons", "hw", "timestamp"]}, {"name": "sw_image", "imports": ["commons"]}, {"name": "hw_management_service", "imports": ["commons", "hw", "empty"]}, {"name": "sw_management_service", "imports": ["commons", "hw", "sw_image"]}], "data_types": [{"name": "Status", "type": "enum", "module": "commons", "values": {"0": "UNDEFINED_STATUS", "1": "OK_STATUS", "2": "ERROR_STATUS"}}, {"name": "LogLevel", "type": "enum", "module": "commons", "values": {"0": "TRACE", "1": "DEBUG", "2": "INFO", "3": "WARN", "4": "ERROR"}}, {"name": "Uuid", "type": "message", "module": "hw", "fields": [{"name": "uuid", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "HardwareID", "type": "message", "module": "hw", "fields": [{"name": "uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "Uri", "type": "message", "module": "hw", "fields": [{"name": "uri", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ComponentType", "type": "enum", "module": "hw", "values": {"0": "COMPONENT_TYPE_UNDEFINED", "1": "COMPONENT_TYPE_UNKNOWN", "2": "COMPONENT_TYPE_CHASSIS", "3": "COMPONENT_TYPE_BACKPLANE", "4": "COMPONENT_TYPE_CONTAINER", "5": "COMPONENT_TYPE_POWER_SUPPLY", "6": "COMPONENT_TYPE_FAN", "7": "COMPONENT_TYPE_SENSOR", "8": "COMPONENT_TYPE_MODULE", "9": "COMPONENT_TYPE_PORT", "10": "COMPONENT_TYPE_CPU", "11": "COMPONENT_TYPE_BATTERY", "12": "COMPONENT_TYPE_STORAGE", "13": "COMPONENT_TYPE_MEMORY", "14": "COMPONENT_TYPE_TRANSCEIVER"}}, {"name": "ComponentAdminState", "type": "enum", "module": "hw", "values": {"0": "COMP_ADMIN_STATE_UNDEFINED", "1": "COMP_ADMIN_STATE_UNKNOWN", "2": "COMP_ADMIN_STATE_LOCKED", "3": "COMP_ADMIN_STATE_SHUTTING_DOWN", "4": "COMP_ADMIN_STATE_UNLOCKED"}}, {"name": "ComponentOperState", "type": "enum", "module": "hw", "values": {"0": "COMP_OPER_STATE_UNDEFINED", "1": "COMP_OPER_STATE_UNKNOWN", "2": "COMP_OPER_STATE_DISABLED", "3": "COMP_OPER_STATE_ENABLED", "4": "COMP_OPER_STATE_TESTING"}}, {"name": "ComponentUsageState", "type": "enum", "module": "hw", "values": {"0": "COMP_USAGE_STATE_UNDEFINED", "1": "COMP_USAGE_STATE_UNKNOWN", "2": "COMP_USAGE_STATE_IDLE", "3": "COMP_USAGE_STATE_ACTIVE", "4": "COMP_USAGE_STATE_BUSY"}}, {"name": "ComponentAlarmState", "type": "enum", "module": "hw", "values": {"0": "COMP_ALARM_STATE_UNDEFINED", "1": "COMP_ALARM_STATE_UNKNOWN", "2": "COMP_ALARM_STATE_UNDER_REPAIR", "3": "COMP_ALARM_STATE_CRITICAL", "4": "COMP_ALARM_STATE_MAJOR", "5": "COMP_ALARM_STATE_MINOR", "6": "COMP_ALARM_STATE_WARNING", "7": "COMP_ALARM_STATE_INDETERMINATE"}}, {"name": "ComponentStandbyState", "type": "enum", "module": "hw", "values": {"0": "COMP_STANDBY_STATE_UNDEFINED", "1": "COMP_STANDBY_STATE_UNKNOWN", "2": "COMP_STANDBY_STATE_HOT", "3": "COMP_STANDBY_STATE_COLD", "4": "COMP_STANDBY_STATE_PROVIDING_SERVICE"}}, {"name": "ComponentState", "type": "message", "module": "hw", "fields": [{"name": "state_last_changed", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "admin_state", "is_choice": false, "repeated": false, "type": "ComponentAdminState", "lookup": true}, {"name": "oper_state", "is_choice": false, "repeated": false, "type": "ComponentOperState", "lookup": true}, {"name": "usage_state", "is_choice": false, "repeated": false, "type": "ComponentUsageState", "lookup": true}, {"name": "alarm_state", "is_choice": false, "repeated": false, "type": "ComponentAlarmState", "lookup": true}, {"name": "standby_state", "is_choice": false, "repeated": false, "type": "ComponentStandbyState", "lookup": true}]}, {"name": "DataValueType", "type": "enum", "module": "hw", "values": {"0": "VALUE_TYPE_UNDEFINED", "1": "VALUE_TYPE_OTHER", "2": "VALUE_TYPE_UNKNOWN", "3": "VALUE_TYPE_VOLTS_AC", "4": "VALUE_TYPE_VOLTS_DC", "5": "VALUE_TYPE_AMPERES", "6": "VALUE_TYPE_WATTS", "7": "VALUE_TYPE_HERTZ", "8": "VALUE_TYPE_CELSIUS", "9": "VALUE_TYPE_PERCENT_RH", "10": "VALUE_TYPE_RPM", "11": "VALUE_TYPE_CMM", "12": "VALUE_TYPE_TRUTH_VALUE"}}, {"name": "ValueScale", "type": "enum", "module": "hw", "values": {"0": "VALUE_SCALE_UNDEFINED", "1": "VALUE_SCALE_YOCTO", "2": "VALUE_SCALE_ZEPTO", "3": "VALUE_SCALE_ATTO", "4": "VALUE_SCALE_FEMTO", "5": "VALUE_SCALE_PICO", "6": "VALUE_SCALE_NANO", "7": "VALUE_SCALE_MICRO", "8": "VALUE_SCALE_MILLI", "9": "VALUE_SCALE_UNITS", "10": "VALUE_SCALE_KILO", "11": "VALUE_SCALE_MEGA", "12": "VALUE_SCALE_GIGA", "13": "VALUE_SCALE_TERA", "14": "VALUE_SCALE_PETA", "15": "VALUE_SCALE_EXA", "16": "VALUE_SCALE_ZETTA", "17": "VALUE_SCALE_YOTTA"}}, {"name": "SensorStatus", "type": "enum", "module": "hw", "values": {"0": "SENSOR_STATUS_UNDEFINED", "1": "SENSOR_STATUS_OK", "2": "SENSOR_STATUS_UNAVAILABLE", "3": "SENSOR_STATUS_NONOPERATIONAL"}}, {"name": "ComponentSensorData", "type": "message", "module": "hw", "fields": [{"name": "value", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "type", "is_choice": false, "repeated": false, "type": "DataValueType", "lookup": true}, {"name": "scale", "is_choice": false, "repeated": false, "type": "ValueScale", "lookup": true}, {"name": "precision", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "status", "is_choice": false, "repeated": false, "type": "SensorStatus", "lookup": true}, {"name": "units_display", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "timestamp", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "value_update_rate", "is_choice": false, "repeated": false, "type": "uint32", "lookup": false}, {"name": "data_type", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ConnectorType", "type": "enum", "module": "hw", "values": {"0": "CONNECTOR_TYPE_UNDEFINED", "1": "RJ45", "2": "FIBER_LC", "3": "FIBER_SC_PC", "4": "FIBER_MPO"}}, {"name": "Speed", "type": "enum", "module": "hw", "values": {"0": "SPEED_UNDEFINED", "1": "DYNAMIC", "2": "GIGABIT_1", "3": "GIGABIT_10", "4": "GIGABIT_25", "5": "GIGABIT_40", "6": "GIGABIT_100", "7": "GIGABIT_400", "8": "MEGABIT_2500", "9": "MEGABIT_1250"}}, {"name": "Protocol", "type": "enum", "module": "hw", "values": {"0": "PROTOCOL_UNDEFINED", "1": "ETHERNET", "2": "GPON", "3": "XGPON", "4": "XGSPON", "5": "GFAST", "6": "SERIAL", "7": "EPON"}}, {"name": "PortComponentAttributes", "type": "message", "module": "hw", "fields": [{"name": "connector_type", "is_choice": false, "repeated": false, "type": "ConnectorType", "lookup": true}, {"name": "speed", "is_choice": false, "repeated": false, "type": "Speed", "lookup": true}, {"name": "protocol", "is_choice": false, "repeated": false, "type": "Protocol", "lookup": true}, {"name": "physical_label", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ContainerComponentAttributes", "type": "message", "module": "hw", "fields": [{"name": "physical_label", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "SupportedVoltage", "type": "enum", "module": "hw", "values": {"0": "SUPPORTED_VOLTAGE_UNDEFINED", "1": "V48", "2": "V230", "3": "V115"}}, {"name": "PsuComponentAttributes", "type": "message", "module": "hw", "fields": [{"name": "supported_voltage", "is_choice": false, "repeated": false, "type": "SupportedVoltage", "lookup": true}]}, {"name": "FormFactor", "type": "enum", "module": "hw", "values": {"0": "FORM_FACTOR_UNKNOWN", "1": "QSFP", "2": "QSFP_PLUS", "3": "QSFP28", "4": "SFP", "5": "SFP_PLUS", "6": "XFP", "7": "CFP4", "8": "CFP2", "9": "CPAK", "10": "X2", "11": "OTHER", "12": "CFP", "13": "CFP2_ACO", "14": "CFP2_DCO"}}, {"name": "Type", "type": "enum", "module": "hw", "values": {"0": "TYPE_UNKNOWN", "1": "ETHERNET", "2": "GPON", "3": "XGPON", "4": "XGSPON", "5": "CPON", "6": "NG_PON2", "7": "EPON"}}, {"name": "TransceiverComponentsAttributes", "type": "message", "module": "hw", "fields": [{"name": "form_factor", "is_choice": false, "repeated": false, "type": "FormFactor", "lookup": true}, {"name": "trans_type", "is_choice": false, "repeated": false, "type": "Type", "lookup": true}, {"name": "max_distance", "is_choice": false, "repeated": false, "type": "uint32", "lookup": false}, {"name": "max_distance_scale", "is_choice": false, "repeated": false, "type": "ValueScale", "lookup": true}, {"name": "rx_wavelength", "is_choice": false, "repeated": true, "type": "uint32", "lookup": false}, {"name": "tx_wavelength", "is_choice": false, "repeated": true, "type": "uint32", "lookup": false}, {"name": "wavelength_scale", "is_choice": false, "repeated": false, "type": "ValueScale", "lookup": true}]}, {"name": "Component", "type": "message", "module": "hw", "fields": [{"name": "name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "class", "is_choice": false, "repeated": false, "type": "ComponentType", "lookup": true}, {"name": "description", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "parent", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "parent_rel_pos", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "children", "is_choice": false, "repeated": true, "type": "Component", "lookup": true}, {"name": "hardware_rev", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "firmware_rev", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "software_rev", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "serial_num", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "mfg_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "model_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "alias", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "asset_id", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "is_fru", "is_choice": false, "repeated": false, "type": "bool", "lookup": false}, {"name": "mfg_date", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "uri", "is_choice": false, "repeated": false, "type": "Uri", "lookup": true}, {"name": "uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "state", "is_choice": false, "repeated": false, "type": "ComponentState", "lookup": true}, {"name": "sensor_data", "is_choice": false, "repeated": true, "type": "ComponentSensorData", "lookup": true}, {"name": "specific", "is_choice": true, "cases": [{"name": "port_attr", "type": "PortComponentAttributes", "lookup": true}, {"name": "container_attr", "type": "ContainerComponentAttributes", "lookup": true}, {"name": "psu_attr", "type": "PsuComponentAttributes", "lookup": true}, {"name": "transceiver_attr", "type": "TransceiverComponentsAttributes", "lookup": true}]}]}, {"name": "Hardware", "type": "message", "module": "hw", "fields": [{"name": "last_change", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "root", "is_choice": false, "repeated": false, "type": "Component", "lookup": true}, {"name": "last_booted", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}]}, {"name": "ModifiableComponent", "type": "message", "module": "hw", "fields": [{"name": "name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "class", "is_choice": false, "repeated": false, "type": "ComponentType", "lookup": true}, {"name": "parent", "is_choice": false, "repeated": false, "type": "Component", "lookup": true}, {"name": "parent_rel_pos", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "alias", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "asset_id", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "uri", "is_choice": false, "repeated": false, "type": "Uri", "lookup": true}, {"name": "admin_state", "is_choice": false, "repeated": false, "type": "ComponentAdminState", "lookup": true}]}, {"name": "MetricNames", "type": "enum", "module": "hw_metrics_mgmt_service", "values": {"0": "METRIC_NAME_UNDEFINED", "1": "METRIC_FAN_SPEED", "100": "METRIC_CPU_TEMP", "101": "METRIC_CPU_USAGE_PERCENTAGE", "200": "METRIC_TRANSCEIVER_TEMP", "201": "METRIC_TRANSCEIVER_VOLTAGE", "202": "METRIC_TRANSCEIVER_BIAS", "203": "METRIC_TRANSCEIVER_RX_POWER", "204": "METRIC_TRANSCEIVER_TX_POWER", "205": "METRIC_TRANSCEIVER_WAVELENGTH", "300": "METRIC_DISK_TEMP", "301": "METRIC_DISK_CAPACITY", "302": "METRIC_DISK_USAGE", "303": "METRIC_DISK_USAGE_PERCENTAGE", "304": "METRIC_DISK_READ_WRITE_PERCENTAGE", "305": "METRIC_DISK_FAULTY_CELLS_PERCENTAGE", "400": "METRIC_RAM_TEMP", "401": "METRIC_RAM_CAPACITY", "402": "METRIC_RAM_USAGE", "403": "METRIC_RAM_USAGE_PERCENTAGE", "500": "METRIC_POWER_MAX", "501": "METRIC_POWER_USAGE", "502": "METRIC_POWER_USAGE_PERCENTAGE", "600": "METRIC_INNER_SURROUNDING_TEMP"}}, {"name": "MetricConfig", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "metric_id", "is_choice": false, "repeated": false, "type": "MetricNames", "lookup": true}, {"name": "is_configured", "is_choice": false, "repeated": false, "type": "bool", "lookup": false}, {"name": "poll_interval", "is_choice": false, "repeated": false, "type": "uint32", "lookup": false}]}, {"name": "MetricsConfig", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "metrics", "is_choice": false, "repeated": true, "type": "MetricConfig", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_metrics_mgmt_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "DEVICE_UNREACHABLE"}}, {"name": "ListMetricsResponse", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "metrics", "is_choice": false, "repeated": false, "type": "MetricsConfig", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "MetricsConfigurationRequest", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "operation", "is_choice": true, "cases": [{"name": "changes", "type": "MetricsConfig", "lookup": true}, {"name": "reset_to_default", "type": "bool", "lookup": false}]}]}, {"name": "Reason", "type": "enum", "module": "hw_metrics_mgmt_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "POLL_INTERVAL_UNSUPPORTED", "4": "INVALID_METRIC", "5": "DEVICE_UNREACHABLE"}}, {"name": "MetricsConfigurationResponse", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "MetricMetaData", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Metric", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "metric_id", "is_choice": false, "repeated": false, "type": "MetricNames", "lookup": true}, {"name": "metric_metadata", "is_choice": false, "repeated": false, "type": "MetricMetaData", "lookup": true}, {"name": "value", "is_choice": false, "repeated": false, "type": "ComponentSensorData", "lookup": true}]}, {"name": "GetMetricRequest", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "meta_data", "is_choice": false, "repeated": false, "type": "MetricMetaData", "lookup": true}, {"name": "metric_id", "is_choice": false, "repeated": false, "type": "MetricNames", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_metrics_mgmt_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "UNKNOWN_COMPONENT", "3": "INTERNAL_ERROR", "4": "INVALID_METRIC", "5": "DEVICE_UNREACHABLE"}}, {"name": "GetMetricResponse", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "metric", "is_choice": false, "repeated": false, "type": "Metric", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "EventIds", "type": "enum", "module": "hw_events_mgmt_service", "values": {"0": "EVENT_NAME_UNDEFINED", "100": "EVENT_TRANSCEIVER_PLUG_OUT", "101": "EVENT_TRANSCEIVER_PLUG_IN", "102": "EVENT_TRANSCEIVER_VOLTAGE_ABOVE_THRESHOLD", "103": "EVENT_TRANSCEIVER_VOLTAGE_BELOW_THRESHOLD", "104": "EVENT_TRANSCEIVER_TEMPERATURE_ABOVE_THRESHOLD", "105": "EVENT_TRANSCEIVER_TEMPERATURE_BELOW_THRESHOLD", "106": "EVENT_TRANSCEIVER_CURRENT_ABOVE_THRESHOLD", "107": "EVENT_TRANSCEIVER_CURRENT_BELOW_THRESHOLD", "108": "EVENT_TRANSCEIVER_RX_POWER_ABOVE_THRESHOLD", "109": "EVENT_TRANSCEIVER_RX_POWER_BELOW_THRESHOLD", "110": "EVENT_TRANSCEIVER_TX_POWER_ABOVE_THRESHOLD", "111": "EVENT_TRANSCEIVER_TX_POWER_BELOW_THRESHOLD", "112": "EVENT_TRANSCEIVER_FAILURE", "113": "EVENT_TRANSCEIVER_VOLTAGE_ABOVE_THRESHOLD_RECOVERED", "114": "EVENT_TRANSCEIVER_VOLTAGE_BELOW_THRESHOLD_RECOVERED", "115": "EVENT_TRANSCEIVER_TEMPERATURE_ABOVE_THRESHOLD_RECOVERED", "116": "EVENT_TRANSCEIVER_TEMPERATURE_BELOW_THRESHOLD_RECOVERED", "117": "EVENT_TRANSCEIVER_CURRENT_ABOVE_THRESHOLD_RECOVERED", "118": "EVENT_TRANSCEIVER_CURRENT_BELOW_THRESHOLD_RECOVERED", "119": "EVENT_TRANSCEIVER_RX_POWER_ABOVE_THRESHOLD_RECOVERED", "120": "EVENT_TRANSCEIVER_RX_POWER_BELOW_THRESHOLD_RECOVERED", "121": "EVENT_TRANSCEIVER_TX_POWER_ABOVE_THRESHOLD_RECOVERED", "122": "EVENT_TRANSCEIVER_TX_POWER_BELOW_THRESHOLD_RECOVERED", "123": "EVENT_TRANSCEIVER_FAILURE_RECOVERED", "200": "EVENT_PSU_PLUG_OUT", "201": "EVENT_PSU_PLUG_IN", "202": "EVENT_PSU_FAILURE", "203": "EVENT_PSU_FAILURE_RECOVERED", "300": "EVENT_FAN_FAILURE", "301": "EVENT_FAN_PLUG_OUT", "302": "EVENT_FAN_PLUG_IN", "303": "EVENT_FAN_FAILURE_RECOVERED", "400": "EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL", "401": "EVENT_CPU_TEMPERATURE_ABOVE_FATAL", "402": "EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL_RECOVERED", "403": "EVENT_CPU_TEMPERATURE_ABOVE_FATAL_RECOVERED", "500": "EVENT_HW_DEVICE_RESET", "501": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL", "502": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL", "503": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL_RECOVERED", "504": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL_RECOVERED"}}, {"name": "ValueType", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "val", "is_choice": true, "cases": [{"name": "int_val", "type": "int64", "lookup": false}, {"name": "uint_val", "type": "uint64", "lookup": false}, {"name": "float_val", "type": "float", "lookup": false}]}]}, {"name": "WaterMarks", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "high", "is_choice": false, "repeated": false, "type": "ValueType", "lookup": true}, {"name": "low", "is_choice": false, "repeated": false, "type": "ValueType", "lookup": true}]}, {"name": "Thresholds", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "threshold", "is_choice": true, "cases": [{"name": "upper", "type": "WaterMarks", "lookup": true}, {"name": "lower", "type": "WaterMarks", "lookup": true}]}]}, {"name": "ThresholdInformation", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "observed_value", "is_choice": false, "repeated": false, "type": "ValueType", "lookup": true}, {"name": "thresholds", "is_choice": false, "repeated": false, "type": "Thresholds", "lookup": true}]}, {"name": "EventCfg", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "event_id", "is_choice": false, "repeated": false, "type": "EventIds", "lookup": true}, {"name": "is_configured", "is_choice": false, "repeated": false, "type": "bool", "lookup": false}, {"name": "thresholds", "is_choice": false, "repeated": false, "type": "Thresholds", "lookup": true}]}, {"name": "EventsCfg", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "items", "is_choice": false, "repeated": true, "type": "EventCfg", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_events_mgmt_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "DEVICE_UNREACHABLE"}}, {"name": "ListEventsResponse", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "events", "is_choice": false, "repeated": false, "type": "EventsCfg", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "EventsConfigurationRequest", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "operation", "is_choice": true, "cases": [{"name": "changes", "type": "EventsCfg", "lookup": true}, {"name": "reset_to_default", "type": "bool", "lookup": false}]}]}, {"name": "Reason", "type": "enum", "module": "hw_events_mgmt_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "INVALID_CONFIG", "4": "DEVICE_UNREACHABLE"}}, {"name": "EventsConfigurationResponse", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "EventMetaData", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Event", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "event_metadata", "is_choice": false, "repeated": false, "type": "EventMetaData", "lookup": true}, {"name": "event_id", "is_choice": false, "repeated": false, "type": "EventIds", "lookup": true}, {"name": "raised_ts", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "threshold_info", "is_choice": false, "repeated": false, "type": "ThresholdInformation", "lookup": true}, {"name": "add_info", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ImageVersion", "type": "message", "module": "sw_image", "fields": [{"name": "image_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "version", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ImageInformation", "type": "message", "module": "sw_image", "fields": [{"name": "image", "is_choice": false, "repeated": false, "type": "ImageVersion", "lookup": true}, {"name": "image_install_script", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "image_url", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "sha256sum", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ImageState", "type": "enum", "module": "sw_image", "values": {"0": "UNDEFINED_STATE", "1": "COPYING_IMAGE", "2": "INSTALLING_IMAGE", "3": "COMMITTING_IMAGE", "4": "REBOOTING_DEVICE", "5": "UPGRADE_COMPLETE", "6": "UPGRADE_FAILED", "7": "ACTIVATION_COMPLETE", "8": "ACTIVATION_FAILED"}}, {"name": "Reason", "type": "enum", "module": "sw_image", "values": {"0": "UNDEFINED_REASON", "1": "ERROR_IN_REQUEST", "2": "INTERNAL_ERROR", "3": "DEVICE_IN_WRONG_STATE", "4": "INVALID_IMAGE", "5": "WRONG_IMAGE_CHECKSUM", "6": "OPERATION_ALREADY_IN_PROGRESS", "7": "UNKNOWN_DEVICE", "8": "DEVICE_NOT_REACHABLE"}}, {"name": "ImageStatus", "type": "message", "module": "sw_image", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "state", "is_choice": false, "repeated": false, "type": "ImageState", "lookup": true}, {"name": "description", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "PhysicalInventoryRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "DEVICE_UNREACHABLE"}}, {"name": "PhysicalInventoryResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "inventory", "is_choice": false, "repeated": false, "type": "Hardware", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "HWComponentInfoGetRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "UNKNOWN_COMPONENT", "3": "INTERNAL_ERROR", "4": "DEVICE_UNREACHABLE"}}, {"name": "HWComponentInfoGetResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "component", "is_choice": false, "repeated": false, "type": "Component", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "HWComponentInfoSetRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "changes", "is_choice": false, "repeated": false, "type": "ModifiableComponent", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "UNKNOWN_COMPONENT", "3": "INVALID_PARAMS", "4": "INTERNAL_ERROR", "5": "DEVICE_UNREACHABLE"}}, {"name": "HWComponentInfoSetResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "DEVICE_ALREADY_MANAGED", "2": "OPERATION_ALREADY_IN_PROGRESS", "3": "INVALID_PARAMS", "4": "INTERNAL_ERROR"}}, {"name": "StartManagingDeviceResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "StopManagingDeviceRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE"}}, {"name": "StopManagingDeviceResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ManagedDevicesResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "devices", "is_choice": false, "repeated": true, "type": "ModifiableComponent", "lookup": true}]}, {"name": "SetLoggingEndpointRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "logging_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "logging_protocol", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "LOGGING_ENDPOINT_ERROR", "4": "LOGGING_ENDPOINT_PROTOCOL_ERROR", "5": "MSGBUS_ENDPOINT_ERROR", "6": "DEVICE_UNREACHABLE"}}, {"name": "SetRemoteEndpointResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "DEVICE_UNREACHABLE"}}, {"name": "GetLoggingEndpointResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "logging_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "logging_protocol", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "SetMsgBusEndpointRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "msgbus_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "INTERNAL_ERROR", "2": "DEVICE_UNREACHABLE"}}, {"name": "GetMsgBusEndpointResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "msgbus_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "EntitiesLogLevel", "type": "message", "module": "hw_management_service", "fields": [{"name": "logLevel", "is_choice": false, "repeated": false, "type": "LogLevel", "lookup": true}, {"name": "entities", "is_choice": false, "repeated": true, "type": "string", "lookup": false}]}, {"name": "SetLogLevelRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "loglevels", "is_choice": false, "repeated": true, "type": "EntitiesLogLevel", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "UNKNOWN_LOG_ENTITY", "4": "DEVICE_UNREACHABLE"}}, {"name": "SetLogLevelResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "GetLogLevelRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "entities", "is_choice": false, "repeated": true, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "UNKNOWN_LOG_ENTITY", "4": "DEVICE_UNREACHABLE"}}, {"name": "GetLogLevelResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "logLevels", "is_choice": false, "repeated": true, "type": "EntitiesLogLevel", "lookup": true}, {"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "GetLoggableEntitiesRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "SoftwareVersionInformation", "type": "message", "module": "sw_management_service", "fields": [{"name": "active_versions", "is_choice": false, "repeated": true, "type": "ImageVersion", "lookup": true}, {"name": "standby_versions", "is_choice": false, "repeated": true, "type": "ImageVersion", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "sw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "DEVICE_UNREACHABLE"}}, {"name": "GetSoftwareVersionInformationResponse", "type": "message", "module": "sw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "info", "is_choice": false, "repeated": false, "type": "SoftwareVersionInformation", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "DownloadImageRequest", "type": "message", "module": "sw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "image_info", "is_choice": false, "repeated": false, "type": "ImageInformation", "lookup": true}]}, {"name": "ConfigRequest", "type": "message", "module": "sw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "config_url", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "sw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "ERROR_FETCHING_CONFIG", "4": "INVALID_CONFIG", "5": "OPERATION_ALREADY_IN_PROGRESS", "6": "DEVICE_UNREACHABLE"}}, {"name": "ConfigResponse", "type": "message", "module": "sw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "StartupConfigInfoRequest", "type": "message", "module": "sw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "sw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "DEVICE_UNREACHABLE"}}, {"name": "StartupConfigInfoResponse", "type": "message", "module": "sw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "config_url", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "version", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}], "services": [{"name": "NativeMetricsManagementService", "module": "hw_metrics_mgmt_service", "rpcs": [{"name": "ListMetrics", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "ListMetricsResponse", "lookup": true}}, {"name": "UpdateMetricsConfiguration", "request": {"is_stream": false, "type": "MetricsConfigurationRequest", "lookup": true}, "response": {"is_stream": false, "type": "MetricsConfigurationResponse", "lookup": true}}, {"name": "GetMetric", "request": {"is_stream": false, "type": "GetMetricRequest", "lookup": true}, "response": {"is_stream": false, "type": "GetMetricResponse", "lookup": true}}]}, {"name": "NativeEventsManagementService", "module": "hw_events_mgmt_service", "rpcs": [{"name": "ListEvents", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "ListEventsResponse", "lookup": true}}, {"name": "UpdateEventsConfiguration", "request": {"is_stream": false, "type": "EventsConfigurationRequest", "lookup": true}, "response": {"is_stream": false, "type": "EventsConfigurationResponse", "lookup": true}}]}, {"name": "NativeHWManagementService", "module": "hw_management_service", "rpcs": [{"name": "StartManagingDevice", "request": {"is_stream": false, "type": "ModifiableComponent", "lookup": true}, "response": {"is_stream": true, "type": "StartManagingDeviceResponse", "lookup": true}}, {"name": "StopManagingDevice", "request": {"is_stream": false, "type": "StopManagingDeviceRequest", "lookup": true}, "response": {"is_stream": false, "type": "StopManagingDeviceResponse", "lookup": true}}, {"name": "GetManagedDevices", "request": {"is_stream": false, "type": "google.protobuf.Empty", "lookup": false}, "response": {"is_stream": false, "type": "ManagedDevicesResponse", "lookup": true}}, {"name": "GetPhysicalInventory", "request": {"is_stream": false, "type": "PhysicalInventoryRequest", "lookup": true}, "response": {"is_stream": true, "type": "PhysicalInventoryResponse", "lookup": true}}, {"name": "GetHWComponentInfo", "request": {"is_stream": false, "type": "HWComponentInfoGetRequest", "lookup": true}, "response": {"is_stream": true, "type": "HWComponentInfoGetResponse", "lookup": true}}, {"name": "SetHWComponentInfo", "request": {"is_stream": false, "type": "HWComponentInfoSetRequest", "lookup": true}, "response": {"is_stream": false, "type": "HWComponentInfoSetResponse", "lookup": true}}, {"name": "SetLoggingEndpoint", "request": {"is_stream": false, "type": "SetLoggingEndpointRequest", "lookup": true}, "response": {"is_stream": false, "type": "SetRemoteEndpointResponse", "lookup": true}}, {"name": "GetLoggingEndpoint", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "GetLoggingEndpointResponse", "lookup": true}}, {"name": "SetMsgBusEndpoint", "request": {"is_stream": false, "type": "SetMsgBusEndpointRequest", "lookup": true}, "response": {"is_stream": false, "type": "SetRemoteEndpointResponse", "lookup": true}}, {"name": "GetMsgBusEndpoint", "request": {"is_stream": false, "type": "google.protobuf.Empty", "lookup": false}, "response": {"is_stream": false, "type": "GetMsgBusEndpointResponse", "lookup": true}}, {"name": "GetLoggableEntities", "request": {"is_stream": false, "type": "GetLoggableEntitiesRequest", "lookup": true}, "response": {"is_stream": false, "type": "GetLogLevelResponse", "lookup": true}}, {"name": "SetLogLevel", "request": {"is_stream": false, "type": "SetLogLevelRequest", "lookup": true}, "response": {"is_stream": false, "type": "SetLogLevelResponse", "lookup": true}}, {"name": "GetLogLevel", "request": {"is_stream": false, "type": "GetLogLevelRequest", "lookup": true}, "response": {"is_stream": false, "type": "GetLogLevelResponse", "lookup": true}}]}, {"name": "NativeSoftwareManagementService", "module": "sw_management_service", "rpcs": [{"name": "GetSoftwareVersion", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "GetSoftwareVersionInformationResponse", "lookup": true}}, {"name": "DownloadImage", "request": {"is_stream": false, "type": "DownloadImageRequest", "lookup": true}, "response": {"is_stream": true, "type": "ImageStatus", "lookup": true}}, {"name": "ActivateImage", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": true, "type": "ImageStatus", "lookup": true}}, {"name": "RevertToStandbyImage", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": true, "type": "ImageStatus", "lookup": true}}, {"name": "UpdateStartupConfiguration", "request": {"is_stream": false, "type": "ConfigRequest", "lookup": true}, "response": {"is_stream": true, "type": "ConfigResponse", "lookup": true}}, {"name": "GetStartupConfigurationInfo", "request": {"is_stream": false, "type": "StartupConfigInfoRequest", "lookup": true}, "response": {"is_stream": false, "type": "StartupConfigInfoResponse", "lookup": true}}]}]}
\ No newline at end of file
diff --git a/grpc_robot/services/dmi/dmi_0_12_0/__init__.py b/grpc_robot/services/dmi/dmi_0_12_0/__init__.py
new file mode 100644
index 0000000..64c6f44
--- /dev/null
+++ b/grpc_robot/services/dmi/dmi_0_12_0/__init__.py
@@ -0,0 +1,14 @@
+# Copyright 2020-present Open Networking Foundation
+# Original copyright 2020-present ADTRAN, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+from ..dmi_0_10_2 import *
diff --git a/grpc_robot/services/dmi/dmi_0_12_0/dmi.json b/grpc_robot/services/dmi/dmi_0_12_0/dmi.json
new file mode 100644
index 0000000..3f5918c
--- /dev/null
+++ b/grpc_robot/services/dmi/dmi_0_12_0/dmi.json
@@ -0,0 +1 @@
+{"modules": [{"name": "commons", "imports": []}, {"name": "hw", "imports": ["timestamp"]}, {"name": "hw_metrics_mgmt_service", "imports": ["commons", "hw"]}, {"name": "hw_events_mgmt_service", "imports": ["commons", "hw", "timestamp"]}, {"name": "sw_image", "imports": ["commons"]}, {"name": "hw_management_service", "imports": ["commons", "hw", "empty"]}, {"name": "sw_management_service", "imports": ["commons", "hw", "sw_image"]}], "data_types": [{"name": "Status", "type": "enum", "module": "commons", "values": {"0": "UNDEFINED_STATUS", "1": "OK_STATUS", "2": "ERROR_STATUS"}}, {"name": "LogLevel", "type": "enum", "module": "commons", "values": {"0": "TRACE", "1": "DEBUG", "2": "INFO", "3": "WARN", "4": "ERROR"}}, {"name": "Uuid", "type": "message", "module": "hw", "fields": [{"name": "uuid", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "HardwareID", "type": "message", "module": "hw", "fields": [{"name": "uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "Uri", "type": "message", "module": "hw", "fields": [{"name": "uri", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ComponentType", "type": "enum", "module": "hw", "values": {"0": "COMPONENT_TYPE_UNDEFINED", "1": "COMPONENT_TYPE_UNKNOWN", "2": "COMPONENT_TYPE_CHASSIS", "3": "COMPONENT_TYPE_BACKPLANE", "4": "COMPONENT_TYPE_CONTAINER", "5": "COMPONENT_TYPE_POWER_SUPPLY", "6": "COMPONENT_TYPE_FAN", "7": "COMPONENT_TYPE_SENSOR", "8": "COMPONENT_TYPE_MODULE", "9": "COMPONENT_TYPE_PORT", "10": "COMPONENT_TYPE_CPU", "11": "COMPONENT_TYPE_BATTERY", "12": "COMPONENT_TYPE_STORAGE", "13": "COMPONENT_TYPE_MEMORY", "14": "COMPONENT_TYPE_TRANSCEIVER"}}, {"name": "ComponentAdminState", "type": "enum", "module": "hw", "values": {"0": "COMP_ADMIN_STATE_UNDEFINED", "1": "COMP_ADMIN_STATE_UNKNOWN", "2": "COMP_ADMIN_STATE_LOCKED", "3": "COMP_ADMIN_STATE_SHUTTING_DOWN", "4": "COMP_ADMIN_STATE_UNLOCKED"}}, {"name": "ComponentOperState", "type": "enum", "module": "hw", "values": {"0": "COMP_OPER_STATE_UNDEFINED", "1": "COMP_OPER_STATE_UNKNOWN", "2": "COMP_OPER_STATE_DISABLED", "3": "COMP_OPER_STATE_ENABLED", "4": "COMP_OPER_STATE_TESTING"}}, {"name": "ComponentUsageState", "type": "enum", "module": "hw", "values": {"0": "COMP_USAGE_STATE_UNDEFINED", "1": "COMP_USAGE_STATE_UNKNOWN", "2": "COMP_USAGE_STATE_IDLE", "3": "COMP_USAGE_STATE_ACTIVE", "4": "COMP_USAGE_STATE_BUSY"}}, {"name": "ComponentAlarmState", "type": "enum", "module": "hw", "values": {"0": "COMP_ALARM_STATE_UNDEFINED", "1": "COMP_ALARM_STATE_UNKNOWN", "2": "COMP_ALARM_STATE_UNDER_REPAIR", "3": "COMP_ALARM_STATE_CRITICAL", "4": "COMP_ALARM_STATE_MAJOR", "5": "COMP_ALARM_STATE_MINOR", "6": "COMP_ALARM_STATE_WARNING", "7": "COMP_ALARM_STATE_INDETERMINATE"}}, {"name": "ComponentStandbyState", "type": "enum", "module": "hw", "values": {"0": "COMP_STANDBY_STATE_UNDEFINED", "1": "COMP_STANDBY_STATE_UNKNOWN", "2": "COMP_STANDBY_STATE_HOT", "3": "COMP_STANDBY_STATE_COLD", "4": "COMP_STANDBY_STATE_PROVIDING_SERVICE"}}, {"name": "ComponentState", "type": "message", "module": "hw", "fields": [{"name": "state_last_changed", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "admin_state", "is_choice": false, "repeated": false, "type": "ComponentAdminState", "lookup": true}, {"name": "oper_state", "is_choice": false, "repeated": false, "type": "ComponentOperState", "lookup": true}, {"name": "usage_state", "is_choice": false, "repeated": false, "type": "ComponentUsageState", "lookup": true}, {"name": "alarm_state", "is_choice": false, "repeated": false, "type": "ComponentAlarmState", "lookup": true}, {"name": "standby_state", "is_choice": false, "repeated": false, "type": "ComponentStandbyState", "lookup": true}]}, {"name": "DataValueType", "type": "enum", "module": "hw", "values": {"0": "VALUE_TYPE_UNDEFINED", "1": "VALUE_TYPE_OTHER", "2": "VALUE_TYPE_UNKNOWN", "3": "VALUE_TYPE_VOLTS_AC", "4": "VALUE_TYPE_VOLTS_DC", "5": "VALUE_TYPE_AMPERES", "6": "VALUE_TYPE_WATTS", "7": "VALUE_TYPE_HERTZ", "8": "VALUE_TYPE_CELSIUS", "9": "VALUE_TYPE_PERCENT_RH", "10": "VALUE_TYPE_RPM", "11": "VALUE_TYPE_CMM", "12": "VALUE_TYPE_TRUTH_VALUE", "13": "VALUE_TYPE_PERCENT", "14": "VALUE_TYPE_METERS", "15": "VALUE_TYPE_BYTES"}}, {"name": "ValueScale", "type": "enum", "module": "hw", "values": {"0": "VALUE_SCALE_UNDEFINED", "1": "VALUE_SCALE_YOCTO", "2": "VALUE_SCALE_ZEPTO", "3": "VALUE_SCALE_ATTO", "4": "VALUE_SCALE_FEMTO", "5": "VALUE_SCALE_PICO", "6": "VALUE_SCALE_NANO", "7": "VALUE_SCALE_MICRO", "8": "VALUE_SCALE_MILLI", "9": "VALUE_SCALE_UNITS", "10": "VALUE_SCALE_KILO", "11": "VALUE_SCALE_MEGA", "12": "VALUE_SCALE_GIGA", "13": "VALUE_SCALE_TERA", "14": "VALUE_SCALE_PETA", "15": "VALUE_SCALE_EXA", "16": "VALUE_SCALE_ZETTA", "17": "VALUE_SCALE_YOTTA"}}, {"name": "SensorStatus", "type": "enum", "module": "hw", "values": {"0": "SENSOR_STATUS_UNDEFINED", "1": "SENSOR_STATUS_OK", "2": "SENSOR_STATUS_UNAVAILABLE", "3": "SENSOR_STATUS_NONOPERATIONAL"}}, {"name": "ComponentSensorData", "type": "message", "module": "hw", "fields": [{"name": "value", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "type", "is_choice": false, "repeated": false, "type": "DataValueType", "lookup": true}, {"name": "scale", "is_choice": false, "repeated": false, "type": "ValueScale", "lookup": true}, {"name": "precision", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "status", "is_choice": false, "repeated": false, "type": "SensorStatus", "lookup": true}, {"name": "units_display", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "timestamp", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "value_update_rate", "is_choice": false, "repeated": false, "type": "uint32", "lookup": false}, {"name": "data_type", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ConnectorType", "type": "enum", "module": "hw", "values": {"0": "CONNECTOR_TYPE_UNDEFINED", "1": "RJ45", "2": "FIBER_LC", "3": "FIBER_SC_PC", "4": "FIBER_MPO", "5": "RS232"}}, {"name": "Speed", "type": "enum", "module": "hw", "values": {"0": "SPEED_UNDEFINED", "1": "DYNAMIC", "2": "GIGABIT_1", "3": "GIGABIT_10", "4": "GIGABIT_25", "5": "GIGABIT_40", "6": "GIGABIT_100", "7": "GIGABIT_400", "8": "MEGABIT_2500", "9": "MEGABIT_1250"}}, {"name": "Protocol", "type": "enum", "module": "hw", "values": {"0": "PROTOCOL_UNDEFINED", "1": "ETHERNET", "2": "GPON", "3": "XGPON", "4": "XGSPON", "5": "GFAST", "6": "SERIAL", "7": "EPON", "8": "BITS"}}, {"name": "PortComponentAttributes", "type": "message", "module": "hw", "fields": [{"name": "connector_type", "is_choice": false, "repeated": false, "type": "ConnectorType", "lookup": true}, {"name": "speed", "is_choice": false, "repeated": false, "type": "Speed", "lookup": true}, {"name": "protocol", "is_choice": false, "repeated": false, "type": "Protocol", "lookup": true}, {"name": "physical_label", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ContainerComponentAttributes", "type": "message", "module": "hw", "fields": [{"name": "physical_label", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "SupportedVoltage", "type": "enum", "module": "hw", "values": {"0": "SUPPORTED_VOLTAGE_UNDEFINED", "1": "V48", "2": "V230", "3": "V115"}}, {"name": "PsuComponentAttributes", "type": "message", "module": "hw", "fields": [{"name": "supported_voltage", "is_choice": false, "repeated": false, "type": "SupportedVoltage", "lookup": true}]}, {"name": "FormFactor", "type": "enum", "module": "hw", "values": {"0": "FORM_FACTOR_UNKNOWN", "1": "QSFP", "2": "QSFP_PLUS", "3": "QSFP28", "4": "SFP", "5": "SFP_PLUS", "6": "XFP", "7": "CFP4", "8": "CFP2", "9": "CPAK", "10": "X2", "11": "OTHER", "12": "CFP", "13": "CFP2_ACO", "14": "CFP2_DCO"}}, {"name": "Type", "type": "enum", "module": "hw", "values": {"0": "TYPE_UNKNOWN", "1": "ETHERNET", "2": "GPON", "3": "XGPON", "4": "XGSPON", "5": "CPON", "6": "NG_PON2", "7": "EPON"}}, {"name": "TransceiverComponentsAttributes", "type": "message", "module": "hw", "fields": [{"name": "form_factor", "is_choice": false, "repeated": false, "type": "FormFactor", "lookup": true}, {"name": "trans_type", "is_choice": false, "repeated": false, "type": "Type", "lookup": true}, {"name": "max_distance", "is_choice": false, "repeated": false, "type": "uint32", "lookup": false}, {"name": "max_distance_scale", "is_choice": false, "repeated": false, "type": "ValueScale", "lookup": true}, {"name": "rx_wavelength", "is_choice": false, "repeated": true, "type": "uint32", "lookup": false}, {"name": "tx_wavelength", "is_choice": false, "repeated": true, "type": "uint32", "lookup": false}, {"name": "wavelength_scale", "is_choice": false, "repeated": false, "type": "ValueScale", "lookup": true}]}, {"name": "Component", "type": "message", "module": "hw", "fields": [{"name": "name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "class", "is_choice": false, "repeated": false, "type": "ComponentType", "lookup": true}, {"name": "description", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "parent", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "parent_rel_pos", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "children", "is_choice": false, "repeated": true, "type": "Component", "lookup": true}, {"name": "hardware_rev", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "firmware_rev", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "software_rev", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "serial_num", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "mfg_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "model_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "alias", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "asset_id", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "is_fru", "is_choice": false, "repeated": false, "type": "bool", "lookup": false}, {"name": "mfg_date", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "uri", "is_choice": false, "repeated": false, "type": "Uri", "lookup": true}, {"name": "uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "state", "is_choice": false, "repeated": false, "type": "ComponentState", "lookup": true}, {"name": "sensor_data", "is_choice": false, "repeated": true, "type": "ComponentSensorData", "lookup": true}, {"name": "specific", "is_choice": true, "cases": [{"name": "port_attr", "type": "PortComponentAttributes", "lookup": true}, {"name": "container_attr", "type": "ContainerComponentAttributes", "lookup": true}, {"name": "psu_attr", "type": "PsuComponentAttributes", "lookup": true}, {"name": "transceiver_attr", "type": "TransceiverComponentsAttributes", "lookup": true}]}]}, {"name": "Hardware", "type": "message", "module": "hw", "fields": [{"name": "last_change", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "root", "is_choice": false, "repeated": false, "type": "Component", "lookup": true}, {"name": "last_booted", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}]}, {"name": "ModifiableComponent", "type": "message", "module": "hw", "fields": [{"name": "name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "class", "is_choice": false, "repeated": false, "type": "ComponentType", "lookup": true}, {"name": "parent", "is_choice": false, "repeated": false, "type": "Component", "lookup": true}, {"name": "parent_rel_pos", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "alias", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "asset_id", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "uri", "is_choice": false, "repeated": false, "type": "Uri", "lookup": true}, {"name": "admin_state", "is_choice": false, "repeated": false, "type": "ComponentAdminState", "lookup": true}]}, {"name": "MetricNames", "type": "enum", "module": "hw_metrics_mgmt_service", "values": {"0": "METRIC_NAME_UNDEFINED", "1": "METRIC_FAN_SPEED", "100": "METRIC_CPU_TEMP", "101": "METRIC_CPU_USAGE_PERCENTAGE", "200": "METRIC_TRANSCEIVER_TEMP", "201": "METRIC_TRANSCEIVER_VOLTAGE", "202": "METRIC_TRANSCEIVER_BIAS", "203": "METRIC_TRANSCEIVER_RX_POWER", "204": "METRIC_TRANSCEIVER_TX_POWER", "205": "METRIC_TRANSCEIVER_WAVELENGTH", "300": "METRIC_DISK_TEMP", "301": "METRIC_DISK_CAPACITY", "302": "METRIC_DISK_USAGE", "303": "METRIC_DISK_USAGE_PERCENTAGE", "304": "METRIC_DISK_READ_WRITE_PERCENTAGE", "305": "METRIC_DISK_FAULTY_CELLS_PERCENTAGE", "400": "METRIC_RAM_TEMP", "401": "METRIC_RAM_CAPACITY", "402": "METRIC_RAM_USAGE", "403": "METRIC_RAM_USAGE_PERCENTAGE", "500": "METRIC_POWER_MAX", "501": "METRIC_POWER_USAGE", "502": "METRIC_POWER_USAGE_PERCENTAGE", "600": "METRIC_INNER_SURROUNDING_TEMP"}}, {"name": "MetricConfig", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "metric_id", "is_choice": false, "repeated": false, "type": "MetricNames", "lookup": true}, {"name": "is_configured", "is_choice": false, "repeated": false, "type": "bool", "lookup": false}, {"name": "poll_interval", "is_choice": false, "repeated": false, "type": "uint32", "lookup": false}]}, {"name": "MetricsConfig", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "metrics", "is_choice": false, "repeated": true, "type": "MetricConfig", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_metrics_mgmt_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "DEVICE_UNREACHABLE"}}, {"name": "ListMetricsResponse", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "metrics", "is_choice": false, "repeated": false, "type": "MetricsConfig", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "MetricsConfigurationRequest", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "operation", "is_choice": true, "cases": [{"name": "changes", "type": "MetricsConfig", "lookup": true}, {"name": "reset_to_default", "type": "bool", "lookup": false}]}]}, {"name": "Reason", "type": "enum", "module": "hw_metrics_mgmt_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "POLL_INTERVAL_UNSUPPORTED", "4": "INVALID_METRIC", "5": "DEVICE_UNREACHABLE"}}, {"name": "MetricsConfigurationResponse", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "MetricMetaData", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Metric", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "metric_id", "is_choice": false, "repeated": false, "type": "MetricNames", "lookup": true}, {"name": "metric_metadata", "is_choice": false, "repeated": false, "type": "MetricMetaData", "lookup": true}, {"name": "value", "is_choice": false, "repeated": false, "type": "ComponentSensorData", "lookup": true}]}, {"name": "GetMetricRequest", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "meta_data", "is_choice": false, "repeated": false, "type": "MetricMetaData", "lookup": true}, {"name": "metric_id", "is_choice": false, "repeated": false, "type": "MetricNames", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_metrics_mgmt_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "UNKNOWN_COMPONENT", "3": "INTERNAL_ERROR", "4": "INVALID_METRIC", "5": "DEVICE_UNREACHABLE"}}, {"name": "GetMetricResponse", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "metric", "is_choice": false, "repeated": false, "type": "Metric", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "EventIds", "type": "enum", "module": "hw_events_mgmt_service", "values": {"0": "EVENT_NAME_UNDEFINED", "100": "EVENT_TRANSCEIVER_PLUG_OUT", "101": "EVENT_TRANSCEIVER_PLUG_IN", "102": "EVENT_TRANSCEIVER_VOLTAGE_ABOVE_THRESHOLD", "103": "EVENT_TRANSCEIVER_VOLTAGE_BELOW_THRESHOLD", "104": "EVENT_TRANSCEIVER_TEMPERATURE_ABOVE_THRESHOLD", "105": "EVENT_TRANSCEIVER_TEMPERATURE_BELOW_THRESHOLD", "106": "EVENT_TRANSCEIVER_CURRENT_ABOVE_THRESHOLD", "107": "EVENT_TRANSCEIVER_CURRENT_BELOW_THRESHOLD", "108": "EVENT_TRANSCEIVER_RX_POWER_ABOVE_THRESHOLD", "109": "EVENT_TRANSCEIVER_RX_POWER_BELOW_THRESHOLD", "110": "EVENT_TRANSCEIVER_TX_POWER_ABOVE_THRESHOLD", "111": "EVENT_TRANSCEIVER_TX_POWER_BELOW_THRESHOLD", "112": "EVENT_TRANSCEIVER_FAILURE", "113": "EVENT_TRANSCEIVER_VOLTAGE_ABOVE_THRESHOLD_RECOVERED", "114": "EVENT_TRANSCEIVER_VOLTAGE_BELOW_THRESHOLD_RECOVERED", "115": "EVENT_TRANSCEIVER_TEMPERATURE_ABOVE_THRESHOLD_RECOVERED", "116": "EVENT_TRANSCEIVER_TEMPERATURE_BELOW_THRESHOLD_RECOVERED", "117": "EVENT_TRANSCEIVER_CURRENT_ABOVE_THRESHOLD_RECOVERED", "118": "EVENT_TRANSCEIVER_CURRENT_BELOW_THRESHOLD_RECOVERED", "119": "EVENT_TRANSCEIVER_RX_POWER_ABOVE_THRESHOLD_RECOVERED", "120": "EVENT_TRANSCEIVER_RX_POWER_BELOW_THRESHOLD_RECOVERED", "121": "EVENT_TRANSCEIVER_TX_POWER_ABOVE_THRESHOLD_RECOVERED", "122": "EVENT_TRANSCEIVER_TX_POWER_BELOW_THRESHOLD_RECOVERED", "123": "EVENT_TRANSCEIVER_FAILURE_RECOVERED", "200": "EVENT_PSU_PLUG_OUT", "201": "EVENT_PSU_PLUG_IN", "202": "EVENT_PSU_FAILURE", "203": "EVENT_PSU_FAILURE_RECOVERED", "300": "EVENT_FAN_FAILURE", "301": "EVENT_FAN_PLUG_OUT", "302": "EVENT_FAN_PLUG_IN", "303": "EVENT_FAN_FAILURE_RECOVERED", "400": "EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL", "401": "EVENT_CPU_TEMPERATURE_ABOVE_FATAL", "402": "EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL_RECOVERED", "403": "EVENT_CPU_TEMPERATURE_ABOVE_FATAL_RECOVERED", "500": "EVENT_HW_DEVICE_RESET", "501": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL", "502": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL", "503": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL_RECOVERED", "504": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL_RECOVERED"}}, {"name": "ValueType", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "val", "is_choice": true, "cases": [{"name": "int_val", "type": "int64", "lookup": false}, {"name": "uint_val", "type": "uint64", "lookup": false}, {"name": "float_val", "type": "float", "lookup": false}]}]}, {"name": "WaterMarks", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "high", "is_choice": false, "repeated": false, "type": "ValueType", "lookup": true}, {"name": "low", "is_choice": false, "repeated": false, "type": "ValueType", "lookup": true}]}, {"name": "Thresholds", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "threshold", "is_choice": true, "cases": [{"name": "upper", "type": "WaterMarks", "lookup": true}, {"name": "lower", "type": "WaterMarks", "lookup": true}]}]}, {"name": "ThresholdInformation", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "observed_value", "is_choice": false, "repeated": false, "type": "ValueType", "lookup": true}, {"name": "thresholds", "is_choice": false, "repeated": false, "type": "Thresholds", "lookup": true}]}, {"name": "EventCfg", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "event_id", "is_choice": false, "repeated": false, "type": "EventIds", "lookup": true}, {"name": "is_configured", "is_choice": false, "repeated": false, "type": "bool", "lookup": false}, {"name": "thresholds", "is_choice": false, "repeated": false, "type": "Thresholds", "lookup": true}]}, {"name": "EventsCfg", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "items", "is_choice": false, "repeated": true, "type": "EventCfg", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_events_mgmt_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "DEVICE_UNREACHABLE"}}, {"name": "ListEventsResponse", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "events", "is_choice": false, "repeated": false, "type": "EventsCfg", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "EventsConfigurationRequest", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "operation", "is_choice": true, "cases": [{"name": "changes", "type": "EventsCfg", "lookup": true}, {"name": "reset_to_default", "type": "bool", "lookup": false}]}]}, {"name": "Reason", "type": "enum", "module": "hw_events_mgmt_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "INVALID_CONFIG", "4": "DEVICE_UNREACHABLE"}}, {"name": "EventsConfigurationResponse", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "EventMetaData", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Event", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "event_metadata", "is_choice": false, "repeated": false, "type": "EventMetaData", "lookup": true}, {"name": "event_id", "is_choice": false, "repeated": false, "type": "EventIds", "lookup": true}, {"name": "raised_ts", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "threshold_info", "is_choice": false, "repeated": false, "type": "ThresholdInformation", "lookup": true}, {"name": "add_info", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ImageVersion", "type": "message", "module": "sw_image", "fields": [{"name": "image_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "version", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ImageInformation", "type": "message", "module": "sw_image", "fields": [{"name": "image", "is_choice": false, "repeated": false, "type": "ImageVersion", "lookup": true}, {"name": "image_install_script", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "image_url", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "sha256sum", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ImageState", "type": "enum", "module": "sw_image", "values": {"0": "UNDEFINED_STATE", "1": "COPYING_IMAGE", "2": "INSTALLING_IMAGE", "3": "COMMITTING_IMAGE", "4": "REBOOTING_DEVICE", "5": "UPGRADE_COMPLETE", "6": "UPGRADE_FAILED", "7": "ACTIVATION_COMPLETE", "8": "ACTIVATION_FAILED"}}, {"name": "Reason", "type": "enum", "module": "sw_image", "values": {"0": "UNDEFINED_REASON", "1": "ERROR_IN_REQUEST", "2": "INTERNAL_ERROR", "3": "DEVICE_IN_WRONG_STATE", "4": "INVALID_IMAGE", "5": "WRONG_IMAGE_CHECKSUM", "6": "OPERATION_ALREADY_IN_PROGRESS", "7": "UNKNOWN_DEVICE", "8": "DEVICE_NOT_REACHABLE"}}, {"name": "ImageStatus", "type": "message", "module": "sw_image", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "state", "is_choice": false, "repeated": false, "type": "ImageState", "lookup": true}, {"name": "description", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "PhysicalInventoryRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "DEVICE_UNREACHABLE"}}, {"name": "PhysicalInventoryResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "inventory", "is_choice": false, "repeated": false, "type": "Hardware", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "HWComponentInfoGetRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "UNKNOWN_COMPONENT", "3": "INTERNAL_ERROR", "4": "DEVICE_UNREACHABLE"}}, {"name": "HWComponentInfoGetResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "component", "is_choice": false, "repeated": false, "type": "Component", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "HWComponentInfoSetRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "changes", "is_choice": false, "repeated": false, "type": "ModifiableComponent", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "UNKNOWN_COMPONENT", "3": "INVALID_PARAMS", "4": "INTERNAL_ERROR", "5": "DEVICE_UNREACHABLE"}}, {"name": "HWComponentInfoSetResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "DEVICE_ALREADY_MANAGED", "2": "OPERATION_ALREADY_IN_PROGRESS", "3": "INVALID_PARAMS", "4": "INTERNAL_ERROR"}}, {"name": "StartManagingDeviceResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "StopManagingDeviceRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE"}}, {"name": "StopManagingDeviceResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ManagedDevicesResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "devices", "is_choice": false, "repeated": true, "type": "ModifiableComponent", "lookup": true}]}, {"name": "SetLoggingEndpointRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "logging_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "logging_protocol", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "LOGGING_ENDPOINT_ERROR", "4": "LOGGING_ENDPOINT_PROTOCOL_ERROR", "5": "MSGBUS_ENDPOINT_ERROR", "6": "DEVICE_UNREACHABLE"}}, {"name": "SetRemoteEndpointResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "DEVICE_UNREACHABLE"}}, {"name": "GetLoggingEndpointResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "logging_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "logging_protocol", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "SetMsgBusEndpointRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "msgbus_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "INTERNAL_ERROR", "2": "DEVICE_UNREACHABLE"}}, {"name": "GetMsgBusEndpointResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "msgbus_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "EntitiesLogLevel", "type": "message", "module": "hw_management_service", "fields": [{"name": "logLevel", "is_choice": false, "repeated": false, "type": "LogLevel", "lookup": true}, {"name": "entities", "is_choice": false, "repeated": true, "type": "string", "lookup": false}]}, {"name": "SetLogLevelRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "loglevels", "is_choice": false, "repeated": true, "type": "EntitiesLogLevel", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "UNKNOWN_LOG_ENTITY", "4": "DEVICE_UNREACHABLE"}}, {"name": "SetLogLevelResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "GetLogLevelRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "entities", "is_choice": false, "repeated": true, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "UNKNOWN_LOG_ENTITY", "4": "DEVICE_UNREACHABLE"}}, {"name": "GetLogLevelResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "logLevels", "is_choice": false, "repeated": true, "type": "EntitiesLogLevel", "lookup": true}, {"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "GetLoggableEntitiesRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "SoftwareVersionInformation", "type": "message", "module": "sw_management_service", "fields": [{"name": "active_versions", "is_choice": false, "repeated": true, "type": "ImageVersion", "lookup": true}, {"name": "standby_versions", "is_choice": false, "repeated": true, "type": "ImageVersion", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "sw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "DEVICE_UNREACHABLE"}}, {"name": "GetSoftwareVersionInformationResponse", "type": "message", "module": "sw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "info", "is_choice": false, "repeated": false, "type": "SoftwareVersionInformation", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "DownloadImageRequest", "type": "message", "module": "sw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "image_info", "is_choice": false, "repeated": false, "type": "ImageInformation", "lookup": true}]}, {"name": "ConfigRequest", "type": "message", "module": "sw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "config_url", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "sw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "ERROR_FETCHING_CONFIG", "4": "INVALID_CONFIG", "5": "OPERATION_ALREADY_IN_PROGRESS", "6": "DEVICE_UNREACHABLE"}}, {"name": "ConfigResponse", "type": "message", "module": "sw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "StartupConfigInfoRequest", "type": "message", "module": "sw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "sw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "DEVICE_UNREACHABLE"}}, {"name": "StartupConfigInfoResponse", "type": "message", "module": "sw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "config_url", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "version", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}], "services": [{"name": "NativeMetricsManagementService", "module": "hw_metrics_mgmt_service", "rpcs": [{"name": "ListMetrics", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "ListMetricsResponse", "lookup": true}}, {"name": "UpdateMetricsConfiguration", "request": {"is_stream": false, "type": "MetricsConfigurationRequest", "lookup": true}, "response": {"is_stream": false, "type": "MetricsConfigurationResponse", "lookup": true}}, {"name": "GetMetric", "request": {"is_stream": false, "type": "GetMetricRequest", "lookup": true}, "response": {"is_stream": false, "type": "GetMetricResponse", "lookup": true}}]}, {"name": "NativeEventsManagementService", "module": "hw_events_mgmt_service", "rpcs": [{"name": "ListEvents", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "ListEventsResponse", "lookup": true}}, {"name": "UpdateEventsConfiguration", "request": {"is_stream": false, "type": "EventsConfigurationRequest", "lookup": true}, "response": {"is_stream": false, "type": "EventsConfigurationResponse", "lookup": true}}]}, {"name": "NativeHWManagementService", "module": "hw_management_service", "rpcs": [{"name": "StartManagingDevice", "request": {"is_stream": false, "type": "ModifiableComponent", "lookup": true}, "response": {"is_stream": true, "type": "StartManagingDeviceResponse", "lookup": true}}, {"name": "StopManagingDevice", "request": {"is_stream": false, "type": "StopManagingDeviceRequest", "lookup": true}, "response": {"is_stream": false, "type": "StopManagingDeviceResponse", "lookup": true}}, {"name": "GetManagedDevices", "request": {"is_stream": false, "type": "google.protobuf.Empty", "lookup": false}, "response": {"is_stream": false, "type": "ManagedDevicesResponse", "lookup": true}}, {"name": "GetPhysicalInventory", "request": {"is_stream": false, "type": "PhysicalInventoryRequest", "lookup": true}, "response": {"is_stream": true, "type": "PhysicalInventoryResponse", "lookup": true}}, {"name": "GetHWComponentInfo", "request": {"is_stream": false, "type": "HWComponentInfoGetRequest", "lookup": true}, "response": {"is_stream": true, "type": "HWComponentInfoGetResponse", "lookup": true}}, {"name": "SetHWComponentInfo", "request": {"is_stream": false, "type": "HWComponentInfoSetRequest", "lookup": true}, "response": {"is_stream": false, "type": "HWComponentInfoSetResponse", "lookup": true}}, {"name": "SetLoggingEndpoint", "request": {"is_stream": false, "type": "SetLoggingEndpointRequest", "lookup": true}, "response": {"is_stream": false, "type": "SetRemoteEndpointResponse", "lookup": true}}, {"name": "GetLoggingEndpoint", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "GetLoggingEndpointResponse", "lookup": true}}, {"name": "SetMsgBusEndpoint", "request": {"is_stream": false, "type": "SetMsgBusEndpointRequest", "lookup": true}, "response": {"is_stream": false, "type": "SetRemoteEndpointResponse", "lookup": true}}, {"name": "GetMsgBusEndpoint", "request": {"is_stream": false, "type": "google.protobuf.Empty", "lookup": false}, "response": {"is_stream": false, "type": "GetMsgBusEndpointResponse", "lookup": true}}, {"name": "GetLoggableEntities", "request": {"is_stream": false, "type": "GetLoggableEntitiesRequest", "lookup": true}, "response": {"is_stream": false, "type": "GetLogLevelResponse", "lookup": true}}, {"name": "SetLogLevel", "request": {"is_stream": false, "type": "SetLogLevelRequest", "lookup": true}, "response": {"is_stream": false, "type": "SetLogLevelResponse", "lookup": true}}, {"name": "GetLogLevel", "request": {"is_stream": false, "type": "GetLogLevelRequest", "lookup": true}, "response": {"is_stream": false, "type": "GetLogLevelResponse", "lookup": true}}]}, {"name": "NativeSoftwareManagementService", "module": "sw_management_service", "rpcs": [{"name": "GetSoftwareVersion", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "GetSoftwareVersionInformationResponse", "lookup": true}}, {"name": "DownloadImage", "request": {"is_stream": false, "type": "DownloadImageRequest", "lookup": true}, "response": {"is_stream": true, "type": "ImageStatus", "lookup": true}}, {"name": "ActivateImage", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": true, "type": "ImageStatus", "lookup": true}}, {"name": "RevertToStandbyImage", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": true, "type": "ImageStatus", "lookup": true}}, {"name": "UpdateStartupConfiguration", "request": {"is_stream": false, "type": "ConfigRequest", "lookup": true}, "response": {"is_stream": true, "type": "ConfigResponse", "lookup": true}}, {"name": "GetStartupConfigurationInfo", "request": {"is_stream": false, "type": "StartupConfigInfoRequest", "lookup": true}, "response": {"is_stream": false, "type": "StartupConfigInfoResponse", "lookup": true}}]}]}
\ No newline at end of file
diff --git a/grpc_robot/services/dmi/dmi_0_9_1/__init__.py b/grpc_robot/services/dmi/dmi_0_9_1/__init__.py
new file mode 100644
index 0000000..9e78f73
--- /dev/null
+++ b/grpc_robot/services/dmi/dmi_0_9_1/__init__.py
@@ -0,0 +1,17 @@
+# Copyright 2020-present Open Networking Foundation
+# Original copyright 2020-present ADTRAN, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+from .hw_events_mgmt_service import *
+from .hw_management_service import *
+from .hw_metrics_mgmt_service import *
+from .sw_management_service import *
diff --git a/grpc_robot/services/dmi/dmi_0_9_1/dmi.json b/grpc_robot/services/dmi/dmi_0_9_1/dmi.json
new file mode 100644
index 0000000..84a0d71
--- /dev/null
+++ b/grpc_robot/services/dmi/dmi_0_9_1/dmi.json
@@ -0,0 +1 @@
+{"modules": [{"name": "commons", "imports": []}, {"name": "hw", "imports": ["timestamp"]}, {"name": "hw_metrics_mgmt_service", "imports": ["commons", "hw"]}, {"name": "hw_events_mgmt_service", "imports": ["commons", "hw", "timestamp"]}, {"name": "sw_image", "imports": ["commons"]}, {"name": "hw_management_service", "imports": ["commons", "hw", "empty"]}, {"name": "sw_management_service", "imports": ["commons", "hw", "sw_image"]}], "data_types": [{"name": "Status", "type": "enum", "module": "commons", "values": ["UNDEFINED_STATUS", "OK", "ERROR"]}, {"name": "Reason", "type": "enum", "module": "commons", "values": ["UNDEFINED_REASON", "UNKNOWN_DEVICE", "INTERNAL_ERROR", "WRONG_METRIC", "WRONG_EVENT", "LOGGING_ENDPOINT_ERROR", "LOGGING_ENDPOINT_PROTOCOL_ERROR", "KAFKA_ENDPOINT_ERROR"]}, {"name": "Uuid", "type": "message", "module": "hw", "fields": [{"name": "uuid", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "HardwareID", "type": "message", "module": "hw", "fields": [{"name": "uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "Uri", "type": "message", "module": "hw", "fields": [{"name": "uri", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ComponentType", "type": "enum", "module": "hw", "values": ["COMPONENT_TYPE_UNDEFINED", "COMPONENT_TYPE_UNKNOWN", "COMPONENT_TYPE_CHASSIS", "COMPONENT_TYPE_BACKPLANE", "COMPONENT_TYPE_CONTAINER", "COMPONENT_TYPE_POWER_SUPPLY", "COMPONENT_TYPE_FAN", "COMPONENT_TYPE_SENSOR", "COMPONENT_TYPE_MODULE", "COMPONENT_TYPE_PORT", "COMPONENT_TYPE_CPU", "COMPONENT_TYPE_BATTERY", "COMPONENT_TYPE_STORAGE", "COMPONENT_TYPE_MEMORY", "COMPONENT_TYPE_TRANSCEIVER", "COMPONENT_TYPE_GPON_TRANSCEIVER", "COMPONENT_TYPE_XGS_PON_TRANSCEIVER"]}, {"name": "ComponentAdminState", "type": "enum", "module": "hw", "values": ["COMP_ADMIN_STATE_UNDEFINED", "COMP_ADMIN_STATE_UNKNOWN", "COMP_ADMIN_STATE_LOCKED", "COMP_ADMIN_STATE_SHUTTING_DOWN", "COMP_ADMIN_STATE_UNLOCKED"]}, {"name": "ComponentOperState", "type": "enum", "module": "hw", "values": ["COMP_OPER_STATE_UNDEFINED", "COMP_OPER_STATE_UNKNOWN", "COMP_OPER_STATE_DISABLED", "COMP_OPER_STATE_ENABLED", "COMP_OPER_STATE_TESTING"]}, {"name": "ComponentUsageState", "type": "enum", "module": "hw", "values": ["COMP_USAGE_STATE_UNDEFINED", "COMP_USAGE_STATE_UNKNOWN", "COMP_USAGE_STATE_IDLE", "COMP_USAGE_STATE_ACTIVE", "COMP_USAGE_STATE_BUSY"]}, {"name": "ComponentAlarmState", "type": "enum", "module": "hw", "values": ["COMP_ALARM_STATE_UNDEFINED", "COMP_ALARM_STATE_UNKNOWN", "COMP_ALARM_STATE_UNDER_REPAIR", "COMP_ALARM_STATE_CRITICAL", "COMP_ALARM_STATE_MAJOR", "COMP_ALARM_STATE_MINOR", "COMP_ALARM_STATE_WARNING", "COMP_ALARM_STATE_INTERMEDIATE"]}, {"name": "ComponentStandbyState", "type": "enum", "module": "hw", "values": ["COMP_STANDBY_STATE_UNDEFINED", "COMP_STANDBY_STATE_UNKNOWN", "COMP_STANDBY_STATE_HOT", "COMP_STANDBY_STATE_COLD", "COMP_STANDBY_STATE_PROVIDING_SERVICE"]}, {"name": "ComponentState", "type": "message", "module": "hw", "fields": [{"name": "state_last_changed", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "admin_state", "is_choice": false, "repeated": false, "type": "ComponentAdminState", "lookup": true}, {"name": "oper_state", "is_choice": false, "repeated": false, "type": "ComponentOperState", "lookup": true}, {"name": "usage_state", "is_choice": false, "repeated": false, "type": "ComponentUsageState", "lookup": true}, {"name": "alarm_state", "is_choice": false, "repeated": false, "type": "ComponentAlarmState", "lookup": true}, {"name": "standby_state", "is_choice": false, "repeated": false, "type": "ComponentStandbyState", "lookup": true}]}, {"name": "SensorValueType", "type": "enum", "module": "hw", "values": ["SENSOR_VALUE_TYPE_UNDEFINED", "SENSOR_VALUE_TYPE_OTHER", "SENSOR_VALUE_TYPE_UNKNOWN", "SENSOR_VALUE_TYPE_VOLTS_AC", "SENSOR_VALUE_TYPE_VOLTS_DC", "SENSOR_VALUE_TYPE_AMPERES", "SENSOR_VALUE_TYPE_WATTS", "SENSOR_VALUE_TYPE_HERTZ", "SENSOR_VALUE_TYPE_CELSIUS", "SENSOR_VALUE_TYPE_PERCENT_RH", "SENSOR_VALUE_TYPE_RPM", "SENSOR_VALUE_TYPE_CMM", "SENSOR_VALUE_TYPE_TRUTH_VALUE"]}, {"name": "SensorValueScale", "type": "enum", "module": "hw", "values": ["SENSOR_VALUE_SCALE_UNDEFINED", "SENSOR_VALUE_SCALE_YOCTO", "SENSOR_VALUE_SCALE_ZEPTO", "SENSOR_VALUE_SCALE_ATTO", "SENSOR_VALUE_SCALE_FEMTO", "SENSOR_VALUE_SCALE_PICO", "SENSOR_VALUE_SCALE_NANO", "SENSOR_VALUE_SCALE_MICRO", "SENSOR_VALUE_SCALE_MILLI", "SENSOR_VALUE_SCALE_UNITS", "SENSOR_VALUE_SCALE_KILO", "SENSOR_VALUE_SCALE_MEGA", "SENSOR_VALUE_SCALE_GIGA", "SENSOR_VALUE_SCALE_TERA", "SENSOR_VALUE_SCALE_PETA", "SENSOR_VALUE_SCALE_EXA", "SENSOR_VALUE_SCALE_ZETTA", "SENSOR_VALUE_SCALE_YOTTA"]}, {"name": "SensorStatus", "type": "enum", "module": "hw", "values": ["SENSOR_STATUS_UNDEFINED", "SENSOR_STATUS_OK", "SENSOR_STATUS_UNAVAILABLE", "SENSOR_STATUS_NONOPERATIONAL"]}, {"name": "ComponentSensorData", "type": "message", "module": "hw", "fields": [{"name": "value", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "type", "is_choice": false, "repeated": false, "type": "SensorValueType", "lookup": true}, {"name": "scale", "is_choice": false, "repeated": false, "type": "SensorValueScale", "lookup": true}, {"name": "precision", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "status", "is_choice": false, "repeated": false, "type": "SensorStatus", "lookup": true}, {"name": "units_display", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "timestamp", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "value_update_rate", "is_choice": false, "repeated": false, "type": "uint32", "lookup": false}, {"name": "data_type", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Component", "type": "message", "module": "hw", "fields": [{"name": "name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "class", "is_choice": false, "repeated": false, "type": "ComponentType", "lookup": true}, {"name": "description", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "parent", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "parent_rel_pos", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "children", "is_choice": false, "repeated": true, "type": "Component", "lookup": true}, {"name": "hardware_rev", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "firmware_rev", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "software_rev", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "serial_num", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "mfg_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "model_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "alias", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "asset_id", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "is_fru", "is_choice": false, "repeated": false, "type": "bool", "lookup": false}, {"name": "mfg_date", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "uri", "is_choice": false, "repeated": false, "type": "Uri", "lookup": true}, {"name": "uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "state", "is_choice": false, "repeated": false, "type": "ComponentState", "lookup": true}, {"name": "sensor_data", "is_choice": false, "repeated": true, "type": "ComponentSensorData", "lookup": true}]}, {"name": "Hardware", "type": "message", "module": "hw", "fields": [{"name": "last_change", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "root", "is_choice": false, "repeated": false, "type": "Component", "lookup": true}]}, {"name": "ModifiableComponent", "type": "message", "module": "hw", "fields": [{"name": "name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "class", "is_choice": false, "repeated": false, "type": "ComponentType", "lookup": true}, {"name": "parent", "is_choice": false, "repeated": false, "type": "Component", "lookup": true}, {"name": "parent_rel_pos", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "alias", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "asset_id", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "uri", "is_choice": false, "repeated": false, "type": "Uri", "lookup": true}, {"name": "admin_state", "is_choice": false, "repeated": false, "type": "ComponentAdminState", "lookup": true}]}, {"name": "MetricNames", "type": "enum", "module": "hw_metrics_mgmt_service", "values": ["METRIC_NAME_UNDEFINED", "METRIC_FAN_SPEED", "METRIC_CPU_TEMP", "METRIC_CPU_USAGE_PERCENTAGE", "METRIC_TRANSCEIVER_TEMP", "METRIC_TRANSCEIVER_VOLTAGE", "METRIC_TRANSCEIVER_BIAS", "METRIC_TRANSCEIVER_RX_POWER", "METRIC_TRANSCEIVER_TX_POWER", "METRIC_TRANSCEIVER_WAVELENGTH", "METRIC_DISK_TEMP", "METRIC_DISK_CAPACITY", "METRIC_DISK_USAGE", "METRIC_DISK_USAGE_PERCENTAGE", "METRIC_DISK_READ_WRITE_PERCENTAGE", "METRIC_DISK_FAULTY_CELLS_PERCENTAGE", "METRIC_RAM_TEMP", "METRIC_RAM_CAPACITY", "METRIC_RAM_USAGE", "METRIC_RAM_USAGE_PERCENTAGE", "METRIC_POWER_MAX", "METRIC_POWER_USAGE", "METRIC_POWER_USAGE_PERCENTAGE", "METRIC_INNER_SURROUNDING_TEMP"]}, {"name": "MetricConfig", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "metric_id", "is_choice": false, "repeated": false, "type": "MetricNames", "lookup": true}, {"name": "is_configured", "is_choice": false, "repeated": false, "type": "bool", "lookup": false}, {"name": "poll_interval", "is_choice": false, "repeated": false, "type": "uint32", "lookup": false}]}, {"name": "MetricsConfig", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "metrics", "is_choice": false, "repeated": true, "type": "MetricConfig", "lookup": true}]}, {"name": "ListMetricsResponse", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "metrics", "is_choice": false, "repeated": false, "type": "MetricsConfig", "lookup": true}]}, {"name": "MetricsConfigurationRequest", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "operation", "is_choice": true, "cases": [{"name": "changes", "type": "MetricsConfig", "lookup": true}, {"name": "reset_to_default", "type": "bool", "lookup": false}]}]}, {"name": "MetricsConfigurationResponse", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "MetricMetaData", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Metric", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "metric_id", "is_choice": false, "repeated": false, "type": "MetricNames", "lookup": true}, {"name": "metric_metadata", "is_choice": false, "repeated": false, "type": "MetricMetaData", "lookup": true}, {"name": "value", "is_choice": false, "repeated": false, "type": "ComponentSensorData", "lookup": true}]}, {"name": "GetMetricRequest", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "meta_data", "is_choice": false, "repeated": false, "type": "MetricMetaData", "lookup": true}, {"name": "metric_id", "is_choice": false, "repeated": false, "type": "MetricNames", "lookup": true}]}, {"name": "GetMetricResponse", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "metric", "is_choice": false, "repeated": false, "type": "Metric", "lookup": true}]}, {"name": "EventIds", "type": "enum", "module": "hw_events_mgmt_service", "values": ["EVENT_NAME_UNDEFINED", "EVENT_TRANSCEIVER_PLUG_OUT", "EVENT_TRANSCEIVER_PLUG_IN", "EVENT_TRANSCEIVER_VOLTAGE_ABOVE_THRESHOLD", "EVENT_TRANSCEIVER_VOLTAGE_BELOW_THRESHOLD", "EVENT_TRANSCEIVER_TEMPERATURE_ABOVE_THRESHOLD", "EVENT_TRANSCEIVER_TEMPERATURE_BELOW_THRESHOLD", "EVENT_TRANSCEIVER_CURRENT_ABOVE_THRESHOLD", "EVENT_TRANSCEIVER_CURRENT_BELOW_THRESHOLD", "EVENT_TRANSCEIVER_RX_POWER_ABOVE_THRESHOLD", "EVENT_TRANSCEIVER_RX_POWER_BELOW_THRESHOLD", "EVENT_TRANSCEIVER_TX_POWER_ABOVE_THRESHOLD", "EVENT_TRANSCEIVER_TX_POWER_BELOW_THRESHOLD", "EVENT_TRANSCEIVER_FAILURE", "EVENT_TRANSCEIVER_VOLTAGE_ABOVE_THRESHOLD_RECOVERED", "EVENT_TRANSCEIVER_VOLTAGE_BELOW_THRESHOLD_RECOVERED", "EVENT_TRANSCEIVER_TEMPERATURE_ABOVE_THRESHOLD_RECOVERED", "EVENT_TRANSCEIVER_TEMPERATURE_BELOW_THRESHOLD_RECOVERED", "EVENT_TRANSCEIVER_CURRENT_ABOVE_THRESHOLD_RECOVERED", "EVENT_TRANSCEIVER_CURRENT_BELOW_THRESHOLD_RECOVERED", "EVENT_TRANSCEIVER_RX_POWER_ABOVE_THRESHOLD_RECOVERED", "EVENT_TRANSCEIVER_RX_POWER_BELOW_THRESHOLD_RECOVERED", "EVENT_TRANSCEIVER_TX_POWER_ABOVE_THRESHOLD_RECOVERED", "EVENT_TRANSCEIVER_TX_POWER_BELOW_THRESHOLD_RECOVERED", "EVENT_TRANSCEIVER_FAILURE_RECOVERED", "EVENT_PSU_PLUG_OUT", "EVENT_PSU_PLUG_IN", "EVENT_PSU_FAILURE", "EVENT_PSU_FAILURE_RECOVERED", "EVENT_FAN_FAILURE", "EVENT_FAN_PLUG_OUT", "EVENT_FAN_PLUG_IN", "EVENT_FAN_FAILURE_RECOVERED", "EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL", "EVENT_CPU_TEMPERATURE_ABOVE_FATAL", "EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL_RECOVERED", "EVENT_CPU_TEMPERATURE_ABOVE_FATAL_RECOVERED", "EVENT_HW_DEVICE_RESET", "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL", "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL", "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL_RECOVERED", "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL_RECOVERED"]}, {"name": "ValueType", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "val", "is_choice": true, "cases": [{"name": "int_val", "type": "int64", "lookup": false}, {"name": "uint_val", "type": "uint64", "lookup": false}, {"name": "float_val", "type": "float", "lookup": false}]}]}, {"name": "WaterMarks", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "high", "is_choice": false, "repeated": false, "type": "ValueType", "lookup": true}, {"name": "low", "is_choice": false, "repeated": false, "type": "ValueType", "lookup": true}]}, {"name": "Thresholds", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "threshold", "is_choice": true, "cases": [{"name": "upper", "type": "WaterMarks", "lookup": true}, {"name": "lower", "type": "WaterMarks", "lookup": true}]}]}, {"name": "ThresholdInformation", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "observed_value", "is_choice": false, "repeated": false, "type": "ValueType", "lookup": true}, {"name": "thresholds", "is_choice": false, "repeated": false, "type": "Thresholds", "lookup": true}]}, {"name": "EventCfg", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "event_id", "is_choice": false, "repeated": false, "type": "EventIds", "lookup": true}, {"name": "is_configured", "is_choice": false, "repeated": false, "type": "bool", "lookup": false}, {"name": "thresholds", "is_choice": false, "repeated": false, "type": "Thresholds", "lookup": true}]}, {"name": "EventsCfg", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "items", "is_choice": false, "repeated": true, "type": "EventCfg", "lookup": true}]}, {"name": "ListEventsResponse", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "events", "is_choice": false, "repeated": false, "type": "EventsCfg", "lookup": true}]}, {"name": "EventsConfigurationRequest", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "operation", "is_choice": true, "cases": [{"name": "changes", "type": "EventsCfg", "lookup": true}, {"name": "reset_to_default", "type": "bool", "lookup": false}]}]}, {"name": "EventsConfigurationResponse", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "EventMetaData", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Event", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "event_metadata", "is_choice": false, "repeated": false, "type": "EventMetaData", "lookup": true}, {"name": "event_id", "is_choice": false, "repeated": false, "type": "EventIds", "lookup": true}, {"name": "raised_ts", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "threshold_info", "is_choice": false, "repeated": false, "type": "ThresholdInformation", "lookup": true}, {"name": "add_info", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ImageVersion", "type": "message", "module": "sw_image", "fields": [{"name": "image_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "version", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ImageInformation", "type": "message", "module": "sw_image", "fields": [{"name": "image", "is_choice": false, "repeated": false, "type": "ImageVersion", "lookup": true}, {"name": "image_install_script", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "image_url", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "sha256sum", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ImageState", "type": "enum", "module": "sw_image", "values": ["UNDEFINED_STATE", "COPYING_IMAGE", "INSTALLING_IMAGE", "COMMITTING_IMAGE", "REBOOTING_DEVICE", "UPGRADE_COMPLETE", "UPGRADE_FAILED", "ACTIVATION_COMPLETE", "ACTIVATION_FAILED"]}, {"name": "Reason", "type": "enum", "module": "sw_image", "values": ["UNDEFINED_REASON", "ERROR_IN_REQUEST", "INTERNAL_ERROR", "DEVICE_IN_WRONG_STATE", "INVALID_IMAGE", "WRONG_IMAGE_CHECKSUM"]}, {"name": "ImageStatus", "type": "message", "module": "sw_image", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "state", "is_choice": false, "repeated": false, "type": "ImageState", "lookup": true}, {"name": "description", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "PhysicalInventoryRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "PhysicalInventoryResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "inventory", "is_choice": false, "repeated": false, "type": "Hardware", "lookup": true}]}, {"name": "HWComponentInfoGetRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "HWComponentInfoGetResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "component", "is_choice": false, "repeated": false, "type": "Component", "lookup": true}]}, {"name": "HWComponentInfoSetRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "changes", "is_choice": false, "repeated": false, "type": "ModifiableComponent", "lookup": true}]}, {"name": "HWComponentInfoSetResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "StartManagingDeviceResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "StopManagingDeviceRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "StopManagingDeviceResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "ManagedDevicesResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "devices", "is_choice": false, "repeated": true, "type": "ModifiableComponent", "lookup": true}]}, {"name": "SetLoggingEndpointRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "logging_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "logging_protocol", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "SetRemoteEndpointResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "GetLoggingEndpointResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "logging_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "logging_protocol", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "SetMsgBusEndpointRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "msgbus_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "GetMsgBusEndpointResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "msgbus_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "SoftwareVersionInformation", "type": "message", "module": "sw_management_service", "fields": [{"name": "active_versions", "is_choice": false, "repeated": true, "type": "ImageVersion", "lookup": true}, {"name": "standby_versions", "is_choice": false, "repeated": true, "type": "ImageVersion", "lookup": true}]}, {"name": "GetSoftwareVersionInformationResponse", "type": "message", "module": "sw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "info", "is_choice": false, "repeated": false, "type": "SoftwareVersionInformation", "lookup": true}]}, {"name": "DownloadImageRequest", "type": "message", "module": "sw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "image_info", "is_choice": false, "repeated": false, "type": "ImageInformation", "lookup": true}]}], "services": [{"name": "NativeMetricsManagementService", "module": "hw_metrics_mgmt_service", "rpcs": [{"name": "ListMetrics", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "ListMetricsResponse", "lookup": true}}, {"name": "UpdateMetricsConfiguration", "request": {"is_stream": false, "type": "MetricsConfigurationRequest", "lookup": true}, "response": {"is_stream": false, "type": "MetricsConfigurationResponse", "lookup": true}}, {"name": "GetMetric", "request": {"is_stream": false, "type": "GetMetricRequest", "lookup": true}, "response": {"is_stream": false, "type": "GetMetricResponse", "lookup": true}}]}, {"name": "NativeEventsManagementService", "module": "hw_events_mgmt_service", "rpcs": [{"name": "ListEvents", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "ListEventsResponse", "lookup": true}}, {"name": "UpdateEventsConfiguration", "request": {"is_stream": false, "type": "EventsConfigurationRequest", "lookup": true}, "response": {"is_stream": false, "type": "EventsConfigurationResponse", "lookup": true}}]}, {"name": "NativeHWManagementService", "module": "hw_management_service", "rpcs": [{"name": "StartManagingDevice", "request": {"is_stream": false, "type": "ModifiableComponent", "lookup": true}, "response": {"is_stream": true, "type": "StartManagingDeviceResponse", "lookup": true}}, {"name": "StopManagingDevice", "request": {"is_stream": false, "type": "StopManagingDeviceRequest", "lookup": true}, "response": {"is_stream": false, "type": "StopManagingDeviceResponse", "lookup": true}}, {"name": "GetManagedDevices", "request": {"is_stream": false, "type": "google.protobuf.Empty", "lookup": false}, "response": {"is_stream": false, "type": "ManagedDevicesResponse", "lookup": true}}, {"name": "GetPhysicalInventory", "request": {"is_stream": false, "type": "PhysicalInventoryRequest", "lookup": true}, "response": {"is_stream": true, "type": "PhysicalInventoryResponse", "lookup": true}}, {"name": "GetHWComponentInfo", "request": {"is_stream": false, "type": "HWComponentInfoGetRequest", "lookup": true}, "response": {"is_stream": true, "type": "HWComponentInfoGetResponse", "lookup": true}}, {"name": "SetHWComponentInfo", "request": {"is_stream": false, "type": "HWComponentInfoSetRequest", "lookup": true}, "response": {"is_stream": false, "type": "HWComponentInfoSetResponse", "lookup": true}}, {"name": "SetLoggingEndpoint", "request": {"is_stream": false, "type": "SetLoggingEndpointRequest", "lookup": true}, "response": {"is_stream": false, "type": "SetRemoteEndpointResponse", "lookup": true}}, {"name": "GetLoggingEndpoint", "request": {"is_stream": false, "type": "Uuid", "lookup": true}, "response": {"is_stream": false, "type": "GetLoggingEndpointResponse", "lookup": true}}, {"name": "SetMsgBusEndpoint", "request": {"is_stream": false, "type": "SetMsgBusEndpointRequest", "lookup": true}, "response": {"is_stream": false, "type": "SetRemoteEndpointResponse", "lookup": true}}, {"name": "GetMsgBusEndpoint", "request": {"is_stream": false, "type": "google.protobuf.Empty", "lookup": false}, "response": {"is_stream": false, "type": "GetMsgBusEndpointResponse", "lookup": true}}]}, {"name": "NativeSoftwareManagementService", "module": "sw_management_service", "rpcs": [{"name": "GetSoftwareVersion", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "GetSoftwareVersionInformationResponse", "lookup": true}}, {"name": "DownloadImage", "request": {"is_stream": false, "type": "DownloadImageRequest", "lookup": true}, "response": {"is_stream": true, "type": "ImageStatus", "lookup": true}}, {"name": "ActivateImage", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": true, "type": "ImageStatus", "lookup": true}}, {"name": "RevertToStandbyImage", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": true, "type": "ImageStatus", "lookup": true}}]}]}
\ No newline at end of file
diff --git a/grpc_robot/services/dmi/dmi_0_9_1/hw_events_mgmt_service.py b/grpc_robot/services/dmi/dmi_0_9_1/hw_events_mgmt_service.py
new file mode 100644
index 0000000..26c1cfe
--- /dev/null
+++ b/grpc_robot/services/dmi/dmi_0_9_1/hw_events_mgmt_service.py
@@ -0,0 +1,38 @@
+# Copyright 2020-present Open Networking Foundation
+# Original copyright 2020-present ADTRAN, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+from robot.api.deco import keyword
+from grpc_robot.services.service import is_connected
+
+from grpc_robot.services.service import Service
+from dmi import hw_events_mgmt_service_pb2_grpc, hw_events_mgmt_service_pb2, hw_pb2
+
+
+class NativeEventsManagementService(Service):
+
+    prefix = 'hw_event_mgmt_service_'
+
+    def __init__(self, ctx):
+        super().__init__(ctx=ctx, stub=hw_events_mgmt_service_pb2_grpc.NativeEventsManagementServiceStub)
+
+    # rpc ListEvents(HardwareID) returns(ListEventsResponse);
+    @keyword
+    @is_connected
+    def hw_event_mgmt_service_list_events(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.ListEvents, hw_pb2.HardwareID, param_dict, **kwargs)
+
+    # rpc UpdateEventsConfiguration(EventsConfigurationRequest) returns(EventsConfigurationResponse);
+    @keyword
+    @is_connected
+    def hw_event_mgmt_service_update_events_configuration(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.UpdateEventsConfiguration, hw_events_mgmt_service_pb2.EventsConfigurationRequest, param_dict, **kwargs)
diff --git a/grpc_robot/services/dmi/dmi_0_9_1/hw_management_service.py b/grpc_robot/services/dmi/dmi_0_9_1/hw_management_service.py
new file mode 100644
index 0000000..8d85b99
--- /dev/null
+++ b/grpc_robot/services/dmi/dmi_0_9_1/hw_management_service.py
@@ -0,0 +1,81 @@
+# Copyright 2020-present Open Networking Foundation
+# Original copyright 2020-present ADTRAN, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+from robot.api.deco import keyword
+from grpc_robot.services.service import is_connected
+
+from grpc_robot.services.service import Service
+from dmi import hw_management_service_pb2_grpc, hw_management_service_pb2, hw_pb2
+
+
+class NativeHWManagementService(Service):
+
+    prefix = 'hw_management_service_'
+
+    def __init__(self, ctx):
+        super().__init__(ctx=ctx, stub=hw_management_service_pb2_grpc.NativeHWManagementServiceStub)
+
+    @keyword
+    @is_connected
+    def hw_management_service_start_managing_device(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.StartManagingDevice, hw_pb2.ModifiableComponent, param_dict, **kwargs)
+
+    @keyword
+    @is_connected
+    def hw_management_service_stop_managing_device(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.StopManagingDevice, hw_management_service_pb2.StopManagingDeviceRequest, param_dict, **kwargs)
+
+    @keyword
+    @is_connected
+    def hw_management_service_get_physical_inventory(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetPhysicalInventory, hw_management_service_pb2.PhysicalInventoryRequest, param_dict, **kwargs)
+
+    @keyword
+    @is_connected
+    def hw_management_service_get_hw_component_info(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetHWComponentInfo, hw_management_service_pb2.HWComponentInfoGetRequest, param_dict, **kwargs)
+
+    @keyword
+    @is_connected
+    def hw_management_service_set_hw_component_info(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.SetHWComponentInfo, hw_management_service_pb2.HWComponentInfoSetRequest, param_dict, **kwargs)
+
+    # rpc GetManagedDevices(google.protobuf.Empty) returns(ManagedDevicesResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_get_managed_devices(self, **kwargs):
+        return self._grpc_helper(self.stub.GetManagedDevices, hw_management_service_pb2.ManagedDevicesResponse, **kwargs)
+
+    # rpc SetLoggingEndpoint(SetLoggingEndpointRequest) returns(SetRemoteEndpointResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_set_logging_endpoint(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.SetLoggingEndpoint, hw_management_service_pb2.SetLoggingEndpointRequest, param_dict, **kwargs)
+
+    # rpc GetLoggingEndpoint(Uuid) returns(GetLoggingEndpointResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_get_logging_endpoint(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetLoggingEndpoint, hw_pb2.Uuid, param_dict, **kwargs)
+
+    # rpc SetMsgBusEndpoint(SetMsgBusEndpointRequest) returns(SetRemoteEndpointResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_set_msg_bus_endpoint(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.SetMsgBusEndpoint, hw_management_service_pb2.SetMsgBusEndpointRequest, param_dict, **kwargs)
+
+    # rpc GetMsgBusEndpoint(google.protobuf.Empty) returns(GetMsgBusEndpointResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_get_msg_bus_endpoint(self, **kwargs):
+        return self._grpc_helper(self.stub.GetMsgBusEndpoint, hw_management_service_pb2.GetMsgBusEndpointResponse, **kwargs)
diff --git a/grpc_robot/services/dmi/dmi_0_9_1/hw_metrics_mgmt_service.py b/grpc_robot/services/dmi/dmi_0_9_1/hw_metrics_mgmt_service.py
new file mode 100644
index 0000000..0fb8940
--- /dev/null
+++ b/grpc_robot/services/dmi/dmi_0_9_1/hw_metrics_mgmt_service.py
@@ -0,0 +1,44 @@
+# Copyright 2020-present Open Networking Foundation
+# Original copyright 2020-present ADTRAN, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+from robot.api.deco import keyword
+from grpc_robot.services.service import is_connected
+
+from grpc_robot.services.service import Service
+from dmi import hw_metrics_mgmt_service_pb2_grpc, hw_metrics_mgmt_service_pb2, hw_pb2
+
+
+class NativeMetricsManagementService(Service):
+
+    prefix = 'hw_metrics_mgmt_service_'
+
+    def __init__(self, ctx):
+        super().__init__(ctx=ctx, stub=hw_metrics_mgmt_service_pb2_grpc.NativeMetricsManagementServiceStub)
+
+    # rpc ListMetrics(HardwareID) returns(ListMetricsResponse);
+    @keyword
+    @is_connected
+    def hw_metrics_mgmt_service_list_metrics(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.ListMetrics, hw_pb2.HardwareID, param_dict, **kwargs)
+
+    # rpc UpdateMetricsConfiguration(MetricsConfigurationRequest) returns(MetricsConfigurationResponse);
+    @keyword
+    @is_connected
+    def hw_metrics_mgmt_service_update_metrics_configuration(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.UpdateMetricsConfiguration, hw_metrics_mgmt_service_pb2.MetricsConfigurationRequest, param_dict, **kwargs)
+
+    # rpc GetMetric(GetMetricRequest) returns(GetMetricResponse);
+    @keyword
+    @is_connected
+    def hw_metrics_mgmt_service_get_metric(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetMetric, hw_metrics_mgmt_service_pb2.GetMetricRequest, param_dict, **kwargs)
diff --git a/grpc_robot/services/dmi/dmi_0_9_1/sw_management_service.py b/grpc_robot/services/dmi/dmi_0_9_1/sw_management_service.py
new file mode 100644
index 0000000..e844b23
--- /dev/null
+++ b/grpc_robot/services/dmi/dmi_0_9_1/sw_management_service.py
@@ -0,0 +1,46 @@
+# Copyright 2020-present Open Networking Foundation
+# Original copyright 2020-present ADTRAN, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+from robot.api.deco import keyword
+from grpc_robot.services.service import is_connected
+
+from grpc_robot.services.service import Service
+from dmi import sw_management_service_pb2_grpc, sw_management_service_pb2, hw_pb2
+
+
+class NativeSoftwareManagementService(Service):
+
+    prefix = 'sw_management_service_'
+
+    def __init__(self, ctx):
+        super().__init__(ctx=ctx, stub=sw_management_service_pb2_grpc.NativeSoftwareManagementServiceStub)
+
+    @keyword
+    @is_connected
+    def sw_management_service_get_software_version(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetSoftwareVersion, hw_pb2.HardwareID, param_dict, **kwargs)
+
+    @keyword
+    @is_connected
+    def sw_management_service_download_image(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.DownloadImage, sw_management_service_pb2.DownloadImageRequest, param_dict, **kwargs)
+
+    @keyword
+    @is_connected
+    def sw_management_service_activate_image(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.ActivateImage, hw_pb2.HardwareID, param_dict, **kwargs)
+
+    @keyword
+    @is_connected
+    def sw_management_service_revert_to_standby_image(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.RevertToStandbyImage, hw_pb2.HardwareID, param_dict, **kwargs)
diff --git a/grpc_robot/services/dmi/dmi_0_9_2/__init__.py b/grpc_robot/services/dmi/dmi_0_9_2/__init__.py
new file mode 100644
index 0000000..789917d
--- /dev/null
+++ b/grpc_robot/services/dmi/dmi_0_9_2/__init__.py
@@ -0,0 +1,17 @@
+# Copyright 2020-present Open Networking Foundation
+# Original copyright 2020-present ADTRAN, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+from ..dmi_0_9_1.hw_events_mgmt_service import *
+from ..dmi_0_9_1.hw_metrics_mgmt_service import *
+from ..dmi_0_9_1.sw_management_service import *
+from .hw_management_service import *
diff --git a/grpc_robot/services/dmi/dmi_0_9_2/dmi.json b/grpc_robot/services/dmi/dmi_0_9_2/dmi.json
new file mode 100644
index 0000000..14850b9
--- /dev/null
+++ b/grpc_robot/services/dmi/dmi_0_9_2/dmi.json
@@ -0,0 +1 @@
+{"modules": [{"name": "commons", "imports": []}, {"name": "hw", "imports": ["timestamp"]}, {"name": "hw_metrics_mgmt_service", "imports": ["commons", "hw"]}, {"name": "hw_events_mgmt_service", "imports": ["commons", "hw", "timestamp"]}, {"name": "sw_image", "imports": ["commons"]}, {"name": "hw_management_service", "imports": ["commons", "hw", "empty"]}, {"name": "sw_management_service", "imports": ["commons", "hw", "sw_image"]}], "data_types": [{"name": "Status", "type": "enum", "module": "commons", "values": {"0": "UNDEFINED_STATUS", "1": "OK_STATUS", "2": "ERROR_STATUS"}}, {"name": "Reason", "type": "enum", "module": "commons", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "WRONG_METRIC", "4": "WRONG_EVENT", "5": "LOGGING_ENDPOINT_ERROR", "6": "LOGGING_ENDPOINT_PROTOCOL_ERROR", "7": "KAFKA_ENDPOINT_ERROR"}}, {"name": "LogLevel", "type": "enum", "module": "commons", "values": {"0": "TRACE", "1": "DEBUG", "2": "INFO", "3": "WARN", "4": "ERROR"}}, {"name": "Uuid", "type": "message", "module": "hw", "fields": [{"name": "uuid", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "HardwareID", "type": "message", "module": "hw", "fields": [{"name": "uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "Uri", "type": "message", "module": "hw", "fields": [{"name": "uri", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ComponentType", "type": "enum", "module": "hw", "values": {"0": "COMPONENT_TYPE_UNDEFINED", "1": "COMPONENT_TYPE_UNKNOWN", "2": "COMPONENT_TYPE_CHASSIS", "3": "COMPONENT_TYPE_BACKPLANE", "4": "COMPONENT_TYPE_CONTAINER", "5": "COMPONENT_TYPE_POWER_SUPPLY", "6": "COMPONENT_TYPE_FAN", "7": "COMPONENT_TYPE_SENSOR", "8": "COMPONENT_TYPE_MODULE", "9": "COMPONENT_TYPE_PORT", "10": "COMPONENT_TYPE_CPU", "11": "COMPONENT_TYPE_BATTERY", "12": "COMPONENT_TYPE_STORAGE", "13": "COMPONENT_TYPE_MEMORY", "14": "COMPONENT_TYPE_TRANSCEIVER", "15": "COMPONENT_TYPE_GPON_TRANSCEIVER", "16": "COMPONENT_TYPE_XGS_PON_TRANSCEIVER"}}, {"name": "ComponentAdminState", "type": "enum", "module": "hw", "values": {"0": "COMP_ADMIN_STATE_UNDEFINED", "1": "COMP_ADMIN_STATE_UNKNOWN", "2": "COMP_ADMIN_STATE_LOCKED", "3": "COMP_ADMIN_STATE_SHUTTING_DOWN", "4": "COMP_ADMIN_STATE_UNLOCKED"}}, {"name": "ComponentOperState", "type": "enum", "module": "hw", "values": {"0": "COMP_OPER_STATE_UNDEFINED", "1": "COMP_OPER_STATE_UNKNOWN", "2": "COMP_OPER_STATE_DISABLED", "3": "COMP_OPER_STATE_ENABLED", "4": "COMP_OPER_STATE_TESTING"}}, {"name": "ComponentUsageState", "type": "enum", "module": "hw", "values": {"0": "COMP_USAGE_STATE_UNDEFINED", "1": "COMP_USAGE_STATE_UNKNOWN", "2": "COMP_USAGE_STATE_IDLE", "3": "COMP_USAGE_STATE_ACTIVE", "4": "COMP_USAGE_STATE_BUSY"}}, {"name": "ComponentAlarmState", "type": "enum", "module": "hw", "values": {"0": "COMP_ALARM_STATE_UNDEFINED", "1": "COMP_ALARM_STATE_UNKNOWN", "2": "COMP_ALARM_STATE_UNDER_REPAIR", "3": "COMP_ALARM_STATE_CRITICAL", "4": "COMP_ALARM_STATE_MAJOR", "5": "COMP_ALARM_STATE_MINOR", "6": "COMP_ALARM_STATE_WARNING", "7": "COMP_ALARM_STATE_INTERMEDIATE"}}, {"name": "ComponentStandbyState", "type": "enum", "module": "hw", "values": {"0": "COMP_STANDBY_STATE_UNDEFINED", "1": "COMP_STANDBY_STATE_UNKNOWN", "2": "COMP_STANDBY_STATE_HOT", "3": "COMP_STANDBY_STATE_COLD", "4": "COMP_STANDBY_STATE_PROVIDING_SERVICE"}}, {"name": "ComponentState", "type": "message", "module": "hw", "fields": [{"name": "state_last_changed", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "admin_state", "is_choice": false, "repeated": false, "type": "ComponentAdminState", "lookup": true}, {"name": "oper_state", "is_choice": false, "repeated": false, "type": "ComponentOperState", "lookup": true}, {"name": "usage_state", "is_choice": false, "repeated": false, "type": "ComponentUsageState", "lookup": true}, {"name": "alarm_state", "is_choice": false, "repeated": false, "type": "ComponentAlarmState", "lookup": true}, {"name": "standby_state", "is_choice": false, "repeated": false, "type": "ComponentStandbyState", "lookup": true}]}, {"name": "SensorValueType", "type": "enum", "module": "hw", "values": {"0": "SENSOR_VALUE_TYPE_UNDEFINED", "1": "SENSOR_VALUE_TYPE_OTHER", "2": "SENSOR_VALUE_TYPE_UNKNOWN", "3": "SENSOR_VALUE_TYPE_VOLTS_AC", "4": "SENSOR_VALUE_TYPE_VOLTS_DC", "5": "SENSOR_VALUE_TYPE_AMPERES", "6": "SENSOR_VALUE_TYPE_WATTS", "7": "SENSOR_VALUE_TYPE_HERTZ", "8": "SENSOR_VALUE_TYPE_CELSIUS", "9": "SENSOR_VALUE_TYPE_PERCENT_RH", "10": "SENSOR_VALUE_TYPE_RPM", "11": "SENSOR_VALUE_TYPE_CMM", "12": "SENSOR_VALUE_TYPE_TRUTH_VALUE"}}, {"name": "SensorValueScale", "type": "enum", "module": "hw", "values": {"0": "SENSOR_VALUE_SCALE_UNDEFINED", "1": "SENSOR_VALUE_SCALE_YOCTO", "2": "SENSOR_VALUE_SCALE_ZEPTO", "3": "SENSOR_VALUE_SCALE_ATTO", "4": "SENSOR_VALUE_SCALE_FEMTO", "5": "SENSOR_VALUE_SCALE_PICO", "6": "SENSOR_VALUE_SCALE_NANO", "7": "SENSOR_VALUE_SCALE_MICRO", "8": "SENSOR_VALUE_SCALE_MILLI", "9": "SENSOR_VALUE_SCALE_UNITS", "10": "SENSOR_VALUE_SCALE_KILO", "11": "SENSOR_VALUE_SCALE_MEGA", "12": "SENSOR_VALUE_SCALE_GIGA", "13": "SENSOR_VALUE_SCALE_TERA", "14": "SENSOR_VALUE_SCALE_PETA", "15": "SENSOR_VALUE_SCALE_EXA", "16": "SENSOR_VALUE_SCALE_ZETTA", "17": "SENSOR_VALUE_SCALE_YOTTA"}}, {"name": "SensorStatus", "type": "enum", "module": "hw", "values": {"0": "SENSOR_STATUS_UNDEFINED", "1": "SENSOR_STATUS_OK", "2": "SENSOR_STATUS_UNAVAILABLE", "3": "SENSOR_STATUS_NONOPERATIONAL"}}, {"name": "ComponentSensorData", "type": "message", "module": "hw", "fields": [{"name": "value", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "type", "is_choice": false, "repeated": false, "type": "SensorValueType", "lookup": true}, {"name": "scale", "is_choice": false, "repeated": false, "type": "SensorValueScale", "lookup": true}, {"name": "precision", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "status", "is_choice": false, "repeated": false, "type": "SensorStatus", "lookup": true}, {"name": "units_display", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "timestamp", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "value_update_rate", "is_choice": false, "repeated": false, "type": "uint32", "lookup": false}, {"name": "data_type", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Component", "type": "message", "module": "hw", "fields": [{"name": "name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "class", "is_choice": false, "repeated": false, "type": "ComponentType", "lookup": true}, {"name": "description", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "parent", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "parent_rel_pos", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "children", "is_choice": false, "repeated": true, "type": "Component", "lookup": true}, {"name": "hardware_rev", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "firmware_rev", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "software_rev", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "serial_num", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "mfg_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "model_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "alias", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "asset_id", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "is_fru", "is_choice": false, "repeated": false, "type": "bool", "lookup": false}, {"name": "mfg_date", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "uri", "is_choice": false, "repeated": false, "type": "Uri", "lookup": true}, {"name": "uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "state", "is_choice": false, "repeated": false, "type": "ComponentState", "lookup": true}, {"name": "sensor_data", "is_choice": false, "repeated": true, "type": "ComponentSensorData", "lookup": true}]}, {"name": "Hardware", "type": "message", "module": "hw", "fields": [{"name": "last_change", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "root", "is_choice": false, "repeated": false, "type": "Component", "lookup": true}]}, {"name": "ModifiableComponent", "type": "message", "module": "hw", "fields": [{"name": "name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "class", "is_choice": false, "repeated": false, "type": "ComponentType", "lookup": true}, {"name": "parent", "is_choice": false, "repeated": false, "type": "Component", "lookup": true}, {"name": "parent_rel_pos", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "alias", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "asset_id", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "uri", "is_choice": false, "repeated": false, "type": "Uri", "lookup": true}, {"name": "admin_state", "is_choice": false, "repeated": false, "type": "ComponentAdminState", "lookup": true}]}, {"name": "MetricNames", "type": "enum", "module": "hw_metrics_mgmt_service", "values": {"0": "METRIC_NAME_UNDEFINED", "1": "METRIC_FAN_SPEED", "100": "METRIC_CPU_TEMP", "101": "METRIC_CPU_USAGE_PERCENTAGE", "200": "METRIC_TRANSCEIVER_TEMP", "201": "METRIC_TRANSCEIVER_VOLTAGE", "202": "METRIC_TRANSCEIVER_BIAS", "203": "METRIC_TRANSCEIVER_RX_POWER", "204": "METRIC_TRANSCEIVER_TX_POWER", "205": "METRIC_TRANSCEIVER_WAVELENGTH", "300": "METRIC_DISK_TEMP", "301": "METRIC_DISK_CAPACITY", "302": "METRIC_DISK_USAGE", "303": "METRIC_DISK_USAGE_PERCENTAGE", "304": "METRIC_DISK_READ_WRITE_PERCENTAGE", "305": "METRIC_DISK_FAULTY_CELLS_PERCENTAGE", "400": "METRIC_RAM_TEMP", "401": "METRIC_RAM_CAPACITY", "402": "METRIC_RAM_USAGE", "403": "METRIC_RAM_USAGE_PERCENTAGE", "500": "METRIC_POWER_MAX", "501": "METRIC_POWER_USAGE", "502": "METRIC_POWER_USAGE_PERCENTAGE", "600": "METRIC_INNER_SURROUNDING_TEMP"}}, {"name": "MetricConfig", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "metric_id", "is_choice": false, "repeated": false, "type": "MetricNames", "lookup": true}, {"name": "is_configured", "is_choice": false, "repeated": false, "type": "bool", "lookup": false}, {"name": "poll_interval", "is_choice": false, "repeated": false, "type": "uint32", "lookup": false}]}, {"name": "MetricsConfig", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "metrics", "is_choice": false, "repeated": true, "type": "MetricConfig", "lookup": true}]}, {"name": "ListMetricsResponse", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "metrics", "is_choice": false, "repeated": false, "type": "MetricsConfig", "lookup": true}]}, {"name": "MetricsConfigurationRequest", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "operation", "is_choice": true, "cases": [{"name": "changes", "type": "MetricsConfig", "lookup": true}, {"name": "reset_to_default", "type": "bool", "lookup": false}]}]}, {"name": "MetricsConfigurationResponse", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "MetricMetaData", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Metric", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "metric_id", "is_choice": false, "repeated": false, "type": "MetricNames", "lookup": true}, {"name": "metric_metadata", "is_choice": false, "repeated": false, "type": "MetricMetaData", "lookup": true}, {"name": "value", "is_choice": false, "repeated": false, "type": "ComponentSensorData", "lookup": true}]}, {"name": "GetMetricRequest", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "meta_data", "is_choice": false, "repeated": false, "type": "MetricMetaData", "lookup": true}, {"name": "metric_id", "is_choice": false, "repeated": false, "type": "MetricNames", "lookup": true}]}, {"name": "GetMetricResponse", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "metric", "is_choice": false, "repeated": false, "type": "Metric", "lookup": true}]}, {"name": "EventIds", "type": "enum", "module": "hw_events_mgmt_service", "values": {"0": "EVENT_NAME_UNDEFINED", "100": "EVENT_TRANSCEIVER_PLUG_OUT", "101": "EVENT_TRANSCEIVER_PLUG_IN", "102": "EVENT_TRANSCEIVER_VOLTAGE_ABOVE_THRESHOLD", "103": "EVENT_TRANSCEIVER_VOLTAGE_BELOW_THRESHOLD", "104": "EVENT_TRANSCEIVER_TEMPERATURE_ABOVE_THRESHOLD", "105": "EVENT_TRANSCEIVER_TEMPERATURE_BELOW_THRESHOLD", "106": "EVENT_TRANSCEIVER_CURRENT_ABOVE_THRESHOLD", "107": "EVENT_TRANSCEIVER_CURRENT_BELOW_THRESHOLD", "108": "EVENT_TRANSCEIVER_RX_POWER_ABOVE_THRESHOLD", "109": "EVENT_TRANSCEIVER_RX_POWER_BELOW_THRESHOLD", "110": "EVENT_TRANSCEIVER_TX_POWER_ABOVE_THRESHOLD", "111": "EVENT_TRANSCEIVER_TX_POWER_BELOW_THRESHOLD", "112": "EVENT_TRANSCEIVER_FAILURE", "113": "EVENT_TRANSCEIVER_VOLTAGE_ABOVE_THRESHOLD_RECOVERED", "114": "EVENT_TRANSCEIVER_VOLTAGE_BELOW_THRESHOLD_RECOVERED", "115": "EVENT_TRANSCEIVER_TEMPERATURE_ABOVE_THRESHOLD_RECOVERED", "116": "EVENT_TRANSCEIVER_TEMPERATURE_BELOW_THRESHOLD_RECOVERED", "117": "EVENT_TRANSCEIVER_CURRENT_ABOVE_THRESHOLD_RECOVERED", "118": "EVENT_TRANSCEIVER_CURRENT_BELOW_THRESHOLD_RECOVERED", "119": "EVENT_TRANSCEIVER_RX_POWER_ABOVE_THRESHOLD_RECOVERED", "120": "EVENT_TRANSCEIVER_RX_POWER_BELOW_THRESHOLD_RECOVERED", "121": "EVENT_TRANSCEIVER_TX_POWER_ABOVE_THRESHOLD_RECOVERED", "122": "EVENT_TRANSCEIVER_TX_POWER_BELOW_THRESHOLD_RECOVERED", "123": "EVENT_TRANSCEIVER_FAILURE_RECOVERED", "200": "EVENT_PSU_PLUG_OUT", "201": "EVENT_PSU_PLUG_IN", "202": "EVENT_PSU_FAILURE", "203": "EVENT_PSU_FAILURE_RECOVERED", "300": "EVENT_FAN_FAILURE", "301": "EVENT_FAN_PLUG_OUT", "302": "EVENT_FAN_PLUG_IN", "303": "EVENT_FAN_FAILURE_RECOVERED", "400": "EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL", "401": "EVENT_CPU_TEMPERATURE_ABOVE_FATAL", "402": "EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL_RECOVERED", "403": "EVENT_CPU_TEMPERATURE_ABOVE_FATAL_RECOVERED", "500": "EVENT_HW_DEVICE_RESET", "501": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL", "502": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL", "503": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL_RECOVERED", "504": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL_RECOVERED"}}, {"name": "ValueType", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "val", "is_choice": true, "cases": [{"name": "int_val", "type": "int64", "lookup": false}, {"name": "uint_val", "type": "uint64", "lookup": false}, {"name": "float_val", "type": "float", "lookup": false}]}]}, {"name": "WaterMarks", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "high", "is_choice": false, "repeated": false, "type": "ValueType", "lookup": true}, {"name": "low", "is_choice": false, "repeated": false, "type": "ValueType", "lookup": true}]}, {"name": "Thresholds", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "threshold", "is_choice": true, "cases": [{"name": "upper", "type": "WaterMarks", "lookup": true}, {"name": "lower", "type": "WaterMarks", "lookup": true}]}]}, {"name": "ThresholdInformation", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "observed_value", "is_choice": false, "repeated": false, "type": "ValueType", "lookup": true}, {"name": "thresholds", "is_choice": false, "repeated": false, "type": "Thresholds", "lookup": true}]}, {"name": "EventCfg", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "event_id", "is_choice": false, "repeated": false, "type": "EventIds", "lookup": true}, {"name": "is_configured", "is_choice": false, "repeated": false, "type": "bool", "lookup": false}, {"name": "thresholds", "is_choice": false, "repeated": false, "type": "Thresholds", "lookup": true}]}, {"name": "EventsCfg", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "items", "is_choice": false, "repeated": true, "type": "EventCfg", "lookup": true}]}, {"name": "ListEventsResponse", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "events", "is_choice": false, "repeated": false, "type": "EventsCfg", "lookup": true}]}, {"name": "EventsConfigurationRequest", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "operation", "is_choice": true, "cases": [{"name": "changes", "type": "EventsCfg", "lookup": true}, {"name": "reset_to_default", "type": "bool", "lookup": false}]}]}, {"name": "EventsConfigurationResponse", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "EventMetaData", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Event", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "event_metadata", "is_choice": false, "repeated": false, "type": "EventMetaData", "lookup": true}, {"name": "event_id", "is_choice": false, "repeated": false, "type": "EventIds", "lookup": true}, {"name": "raised_ts", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "threshold_info", "is_choice": false, "repeated": false, "type": "ThresholdInformation", "lookup": true}, {"name": "add_info", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ImageVersion", "type": "message", "module": "sw_image", "fields": [{"name": "image_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "version", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ImageInformation", "type": "message", "module": "sw_image", "fields": [{"name": "image", "is_choice": false, "repeated": false, "type": "ImageVersion", "lookup": true}, {"name": "image_install_script", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "image_url", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "sha256sum", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ImageState", "type": "enum", "module": "sw_image", "values": {"0": "UNDEFINED_STATE", "1": "COPYING_IMAGE", "2": "INSTALLING_IMAGE", "3": "COMMITTING_IMAGE", "4": "REBOOTING_DEVICE", "5": "UPGRADE_COMPLETE", "6": "UPGRADE_FAILED", "7": "ACTIVATION_COMPLETE", "8": "ACTIVATION_FAILED"}}, {"name": "Reason", "type": "enum", "module": "sw_image", "values": {"0": "UNDEFINED_REASON", "1": "ERROR_IN_REQUEST", "2": "INTERNAL_ERROR", "3": "DEVICE_IN_WRONG_STATE", "4": "INVALID_IMAGE", "5": "WRONG_IMAGE_CHECKSUM"}}, {"name": "ImageStatus", "type": "message", "module": "sw_image", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "state", "is_choice": false, "repeated": false, "type": "ImageState", "lookup": true}, {"name": "description", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "PhysicalInventoryRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "PhysicalInventoryResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "inventory", "is_choice": false, "repeated": false, "type": "Hardware", "lookup": true}]}, {"name": "HWComponentInfoGetRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "HWComponentInfoGetResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "component", "is_choice": false, "repeated": false, "type": "Component", "lookup": true}]}, {"name": "HWComponentInfoSetRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "changes", "is_choice": false, "repeated": false, "type": "ModifiableComponent", "lookup": true}]}, {"name": "HWComponentInfoSetResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "StartManagingDeviceResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "StopManagingDeviceRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "StopManagingDeviceResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "ManagedDevicesResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "devices", "is_choice": false, "repeated": true, "type": "ModifiableComponent", "lookup": true}]}, {"name": "SetLoggingEndpointRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "logging_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "logging_protocol", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "SetRemoteEndpointResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "GetLoggingEndpointResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "logging_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "logging_protocol", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "SetMsgBusEndpointRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "msgbus_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "GetMsgBusEndpointResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "msgbus_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "EntitiesLogLevel", "type": "message", "module": "hw_management_service", "fields": [{"name": "logLevel", "is_choice": false, "repeated": false, "type": "LogLevel", "lookup": true}, {"name": "entities", "is_choice": false, "repeated": true, "type": "string", "lookup": false}]}, {"name": "SetLogLevelRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "loglevels", "is_choice": false, "repeated": true, "type": "EntitiesLogLevel", "lookup": true}]}, {"name": "SetLogLevelResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "responses", "is_choice": false, "repeated": true, "type": "DeviceLogResponse", "lookup": true}]}, {"name": "DeviceLogResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "GetLogLevelRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "entities", "is_choice": false, "repeated": true, "type": "string", "lookup": false}]}, {"name": "GetLogLevelResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "logLevels", "is_choice": false, "repeated": true, "type": "EntitiesLogLevel", "lookup": true}, {"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "GetLoggableEntitiesRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "SoftwareVersionInformation", "type": "message", "module": "sw_management_service", "fields": [{"name": "active_versions", "is_choice": false, "repeated": true, "type": "ImageVersion", "lookup": true}, {"name": "standby_versions", "is_choice": false, "repeated": true, "type": "ImageVersion", "lookup": true}]}, {"name": "GetSoftwareVersionInformationResponse", "type": "message", "module": "sw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "info", "is_choice": false, "repeated": false, "type": "SoftwareVersionInformation", "lookup": true}]}, {"name": "DownloadImageRequest", "type": "message", "module": "sw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "image_info", "is_choice": false, "repeated": false, "type": "ImageInformation", "lookup": true}]}], "services": [{"name": "NativeMetricsManagementService", "module": "hw_metrics_mgmt_service", "rpcs": [{"name": "ListMetrics", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "ListMetricsResponse", "lookup": true}}, {"name": "UpdateMetricsConfiguration", "request": {"is_stream": false, "type": "MetricsConfigurationRequest", "lookup": true}, "response": {"is_stream": false, "type": "MetricsConfigurationResponse", "lookup": true}}, {"name": "GetMetric", "request": {"is_stream": false, "type": "GetMetricRequest", "lookup": true}, "response": {"is_stream": false, "type": "GetMetricResponse", "lookup": true}}]}, {"name": "NativeEventsManagementService", "module": "hw_events_mgmt_service", "rpcs": [{"name": "ListEvents", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "ListEventsResponse", "lookup": true}}, {"name": "UpdateEventsConfiguration", "request": {"is_stream": false, "type": "EventsConfigurationRequest", "lookup": true}, "response": {"is_stream": false, "type": "EventsConfigurationResponse", "lookup": true}}]}, {"name": "NativeHWManagementService", "module": "hw_management_service", "rpcs": [{"name": "StartManagingDevice", "request": {"is_stream": false, "type": "ModifiableComponent", "lookup": true}, "response": {"is_stream": true, "type": "StartManagingDeviceResponse", "lookup": true}}, {"name": "StopManagingDevice", "request": {"is_stream": false, "type": "StopManagingDeviceRequest", "lookup": true}, "response": {"is_stream": false, "type": "StopManagingDeviceResponse", "lookup": true}}, {"name": "GetManagedDevices", "request": {"is_stream": false, "type": "google.protobuf.Empty", "lookup": false}, "response": {"is_stream": false, "type": "ManagedDevicesResponse", "lookup": true}}, {"name": "GetPhysicalInventory", "request": {"is_stream": false, "type": "PhysicalInventoryRequest", "lookup": true}, "response": {"is_stream": true, "type": "PhysicalInventoryResponse", "lookup": true}}, {"name": "GetHWComponentInfo", "request": {"is_stream": false, "type": "HWComponentInfoGetRequest", "lookup": true}, "response": {"is_stream": true, "type": "HWComponentInfoGetResponse", "lookup": true}}, {"name": "SetHWComponentInfo", "request": {"is_stream": false, "type": "HWComponentInfoSetRequest", "lookup": true}, "response": {"is_stream": false, "type": "HWComponentInfoSetResponse", "lookup": true}}, {"name": "SetLoggingEndpoint", "request": {"is_stream": false, "type": "SetLoggingEndpointRequest", "lookup": true}, "response": {"is_stream": false, "type": "SetRemoteEndpointResponse", "lookup": true}}, {"name": "GetLoggingEndpoint", "request": {"is_stream": false, "type": "Uuid", "lookup": true}, "response": {"is_stream": false, "type": "GetLoggingEndpointResponse", "lookup": true}}, {"name": "SetMsgBusEndpoint", "request": {"is_stream": false, "type": "SetMsgBusEndpointRequest", "lookup": true}, "response": {"is_stream": false, "type": "SetRemoteEndpointResponse", "lookup": true}}, {"name": "GetMsgBusEndpoint", "request": {"is_stream": false, "type": "google.protobuf.Empty", "lookup": false}, "response": {"is_stream": false, "type": "GetMsgBusEndpointResponse", "lookup": true}}, {"name": "GetLoggableEntities", "request": {"is_stream": false, "type": "GetLoggableEntitiesRequest", "lookup": true}, "response": {"is_stream": false, "type": "GetLogLevelResponse", "lookup": true}}, {"name": "SetLogLevel", "request": {"is_stream": false, "type": "SetLogLevelRequest", "lookup": true}, "response": {"is_stream": false, "type": "SetLogLevelResponse", "lookup": true}}, {"name": "GetLogLevel", "request": {"is_stream": false, "type": "GetLogLevelRequest", "lookup": true}, "response": {"is_stream": false, "type": "GetLogLevelResponse", "lookup": true}}]}, {"name": "NativeSoftwareManagementService", "module": "sw_management_service", "rpcs": [{"name": "GetSoftwareVersion", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "GetSoftwareVersionInformationResponse", "lookup": true}}, {"name": "DownloadImage", "request": {"is_stream": false, "type": "DownloadImageRequest", "lookup": true}, "response": {"is_stream": true, "type": "ImageStatus", "lookup": true}}, {"name": "ActivateImage", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": true, "type": "ImageStatus", "lookup": true}}, {"name": "RevertToStandbyImage", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": true, "type": "ImageStatus", "lookup": true}}]}]}
\ No newline at end of file
diff --git a/grpc_robot/services/dmi/dmi_0_9_2/hw_management_service.py b/grpc_robot/services/dmi/dmi_0_9_2/hw_management_service.py
new file mode 100644
index 0000000..f275851
--- /dev/null
+++ b/grpc_robot/services/dmi/dmi_0_9_2/hw_management_service.py
@@ -0,0 +1,104 @@
+# Copyright 2020-present Open Networking Foundation
+# Original copyright 2020-present ADTRAN, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+from robot.api.deco import keyword
+from ...service import is_connected
+
+from grpc_robot.services.service import Service
+from dmi import hw_management_service_pb2_grpc, hw_management_service_pb2, hw_pb2
+
+
+class NativeHWManagementService(Service):
+
+    prefix = 'hw_management_service_'
+
+    def __init__(self, ctx):
+        super().__init__(ctx=ctx, stub=hw_management_service_pb2_grpc.NativeHWManagementServiceStub)
+
+    # rpc StartManagingDevice(ModifiableComponent) returns(stream StartManagingDeviceResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_start_managing_device(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.StartManagingDevice, hw_pb2.ModifiableComponent, param_dict, **kwargs)
+
+    # rpc StopManagingDevice(StopManagingDeviceRequest) returns(StopManagingDeviceResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_stop_managing_device(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.StopManagingDevice, hw_management_service_pb2.StopManagingDeviceRequest, param_dict, **kwargs)
+
+    # rpc GetPhysicalInventory(PhysicalInventoryRequest) returns(stream PhysicalInventoryResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_get_physical_inventory(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetPhysicalInventory, hw_management_service_pb2.PhysicalInventoryRequest, param_dict, **kwargs)
+
+    # rpc GetHWComponentInfo(HWComponentInfoGetRequest) returns(stream HWComponentInfoGetResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_get_hw_component_info(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetHWComponentInfo, hw_management_service_pb2.HWComponentInfoGetRequest, param_dict, **kwargs)
+
+    # rpc SetHWComponentInfo(HWComponentInfoSetRequest) returns(HWComponentInfoSetResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_set_hw_component_info(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.SetHWComponentInfo, hw_management_service_pb2.HWComponentInfoSetRequest, param_dict, **kwargs)
+
+    # rpc GetManagedDevices(google.protobuf.Empty) returns(ManagedDevicesResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_get_managed_devices(self, **kwargs):
+        return self._grpc_helper(self.stub.GetManagedDevices, **kwargs)
+
+    # rpc SetLoggingEndpoint(SetLoggingEndpointRequest) returns(SetRemoteEndpointResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_set_logging_endpoint(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.SetLoggingEndpoint, hw_management_service_pb2.SetLoggingEndpointRequest, param_dict, **kwargs)
+
+    # rpc GetLoggingEndpoint(Uuid) returns(GetLoggingEndpointResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_get_logging_endpoint(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetLoggingEndpoint, hw_pb2.Uuid, param_dict)
+
+    # rpc SetMsgBusEndpoint(SetMsgBusEndpointRequest) returns(SetRemoteEndpointResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_set_msg_bus_endpoint(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.SetMsgBusEndpoint, hw_management_service_pb2.SetMsgBusEndpointRequest, param_dict, **kwargs)
+
+    # rpc GetMsgBusEndpoint(google.protobuf.Empty) returns(GetMsgBusEndpointResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_get_msg_bus_endpoint(self, **kwargs):
+        return self._grpc_helper(self.stub.GetMsgBusEndpoint, **kwargs)
+
+    # rpc GetLoggableEntities(GetLoggableEntitiesRequest) returns(GetLogLevelResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_get_loggable_entities(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetLoggableEntities, hw_management_service_pb2.GetLoggableEntitiesRequest, param_dict, **kwargs)
+
+    # rpc SetLogLevel(SetLogLevelRequest) returns(SetLogLevelResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_set_log_level(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.SetLogLevel, hw_management_service_pb2.SetLogLevelRequest, param_dict, **kwargs)
+
+    # rpc GetLogLevel(GetLogLevelRequest) returns(GetLogLevelResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_get_log_level(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetLogLevel, hw_management_service_pb2.GetLogLevelRequest, param_dict, **kwargs)
diff --git a/grpc_robot/services/dmi/dmi_0_9_3/__init__.py b/grpc_robot/services/dmi/dmi_0_9_3/__init__.py
new file mode 100644
index 0000000..c5af1c4
--- /dev/null
+++ b/grpc_robot/services/dmi/dmi_0_9_3/__init__.py
@@ -0,0 +1,14 @@
+# Copyright 2020-present Open Networking Foundation
+# Original copyright 2020-present ADTRAN, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+from ..dmi_0_9_2 import *
diff --git a/grpc_robot/services/dmi/dmi_0_9_3/dmi.json b/grpc_robot/services/dmi/dmi_0_9_3/dmi.json
new file mode 100644
index 0000000..14850b9
--- /dev/null
+++ b/grpc_robot/services/dmi/dmi_0_9_3/dmi.json
@@ -0,0 +1 @@
+{"modules": [{"name": "commons", "imports": []}, {"name": "hw", "imports": ["timestamp"]}, {"name": "hw_metrics_mgmt_service", "imports": ["commons", "hw"]}, {"name": "hw_events_mgmt_service", "imports": ["commons", "hw", "timestamp"]}, {"name": "sw_image", "imports": ["commons"]}, {"name": "hw_management_service", "imports": ["commons", "hw", "empty"]}, {"name": "sw_management_service", "imports": ["commons", "hw", "sw_image"]}], "data_types": [{"name": "Status", "type": "enum", "module": "commons", "values": {"0": "UNDEFINED_STATUS", "1": "OK_STATUS", "2": "ERROR_STATUS"}}, {"name": "Reason", "type": "enum", "module": "commons", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "WRONG_METRIC", "4": "WRONG_EVENT", "5": "LOGGING_ENDPOINT_ERROR", "6": "LOGGING_ENDPOINT_PROTOCOL_ERROR", "7": "KAFKA_ENDPOINT_ERROR"}}, {"name": "LogLevel", "type": "enum", "module": "commons", "values": {"0": "TRACE", "1": "DEBUG", "2": "INFO", "3": "WARN", "4": "ERROR"}}, {"name": "Uuid", "type": "message", "module": "hw", "fields": [{"name": "uuid", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "HardwareID", "type": "message", "module": "hw", "fields": [{"name": "uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "Uri", "type": "message", "module": "hw", "fields": [{"name": "uri", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ComponentType", "type": "enum", "module": "hw", "values": {"0": "COMPONENT_TYPE_UNDEFINED", "1": "COMPONENT_TYPE_UNKNOWN", "2": "COMPONENT_TYPE_CHASSIS", "3": "COMPONENT_TYPE_BACKPLANE", "4": "COMPONENT_TYPE_CONTAINER", "5": "COMPONENT_TYPE_POWER_SUPPLY", "6": "COMPONENT_TYPE_FAN", "7": "COMPONENT_TYPE_SENSOR", "8": "COMPONENT_TYPE_MODULE", "9": "COMPONENT_TYPE_PORT", "10": "COMPONENT_TYPE_CPU", "11": "COMPONENT_TYPE_BATTERY", "12": "COMPONENT_TYPE_STORAGE", "13": "COMPONENT_TYPE_MEMORY", "14": "COMPONENT_TYPE_TRANSCEIVER", "15": "COMPONENT_TYPE_GPON_TRANSCEIVER", "16": "COMPONENT_TYPE_XGS_PON_TRANSCEIVER"}}, {"name": "ComponentAdminState", "type": "enum", "module": "hw", "values": {"0": "COMP_ADMIN_STATE_UNDEFINED", "1": "COMP_ADMIN_STATE_UNKNOWN", "2": "COMP_ADMIN_STATE_LOCKED", "3": "COMP_ADMIN_STATE_SHUTTING_DOWN", "4": "COMP_ADMIN_STATE_UNLOCKED"}}, {"name": "ComponentOperState", "type": "enum", "module": "hw", "values": {"0": "COMP_OPER_STATE_UNDEFINED", "1": "COMP_OPER_STATE_UNKNOWN", "2": "COMP_OPER_STATE_DISABLED", "3": "COMP_OPER_STATE_ENABLED", "4": "COMP_OPER_STATE_TESTING"}}, {"name": "ComponentUsageState", "type": "enum", "module": "hw", "values": {"0": "COMP_USAGE_STATE_UNDEFINED", "1": "COMP_USAGE_STATE_UNKNOWN", "2": "COMP_USAGE_STATE_IDLE", "3": "COMP_USAGE_STATE_ACTIVE", "4": "COMP_USAGE_STATE_BUSY"}}, {"name": "ComponentAlarmState", "type": "enum", "module": "hw", "values": {"0": "COMP_ALARM_STATE_UNDEFINED", "1": "COMP_ALARM_STATE_UNKNOWN", "2": "COMP_ALARM_STATE_UNDER_REPAIR", "3": "COMP_ALARM_STATE_CRITICAL", "4": "COMP_ALARM_STATE_MAJOR", "5": "COMP_ALARM_STATE_MINOR", "6": "COMP_ALARM_STATE_WARNING", "7": "COMP_ALARM_STATE_INTERMEDIATE"}}, {"name": "ComponentStandbyState", "type": "enum", "module": "hw", "values": {"0": "COMP_STANDBY_STATE_UNDEFINED", "1": "COMP_STANDBY_STATE_UNKNOWN", "2": "COMP_STANDBY_STATE_HOT", "3": "COMP_STANDBY_STATE_COLD", "4": "COMP_STANDBY_STATE_PROVIDING_SERVICE"}}, {"name": "ComponentState", "type": "message", "module": "hw", "fields": [{"name": "state_last_changed", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "admin_state", "is_choice": false, "repeated": false, "type": "ComponentAdminState", "lookup": true}, {"name": "oper_state", "is_choice": false, "repeated": false, "type": "ComponentOperState", "lookup": true}, {"name": "usage_state", "is_choice": false, "repeated": false, "type": "ComponentUsageState", "lookup": true}, {"name": "alarm_state", "is_choice": false, "repeated": false, "type": "ComponentAlarmState", "lookup": true}, {"name": "standby_state", "is_choice": false, "repeated": false, "type": "ComponentStandbyState", "lookup": true}]}, {"name": "SensorValueType", "type": "enum", "module": "hw", "values": {"0": "SENSOR_VALUE_TYPE_UNDEFINED", "1": "SENSOR_VALUE_TYPE_OTHER", "2": "SENSOR_VALUE_TYPE_UNKNOWN", "3": "SENSOR_VALUE_TYPE_VOLTS_AC", "4": "SENSOR_VALUE_TYPE_VOLTS_DC", "5": "SENSOR_VALUE_TYPE_AMPERES", "6": "SENSOR_VALUE_TYPE_WATTS", "7": "SENSOR_VALUE_TYPE_HERTZ", "8": "SENSOR_VALUE_TYPE_CELSIUS", "9": "SENSOR_VALUE_TYPE_PERCENT_RH", "10": "SENSOR_VALUE_TYPE_RPM", "11": "SENSOR_VALUE_TYPE_CMM", "12": "SENSOR_VALUE_TYPE_TRUTH_VALUE"}}, {"name": "SensorValueScale", "type": "enum", "module": "hw", "values": {"0": "SENSOR_VALUE_SCALE_UNDEFINED", "1": "SENSOR_VALUE_SCALE_YOCTO", "2": "SENSOR_VALUE_SCALE_ZEPTO", "3": "SENSOR_VALUE_SCALE_ATTO", "4": "SENSOR_VALUE_SCALE_FEMTO", "5": "SENSOR_VALUE_SCALE_PICO", "6": "SENSOR_VALUE_SCALE_NANO", "7": "SENSOR_VALUE_SCALE_MICRO", "8": "SENSOR_VALUE_SCALE_MILLI", "9": "SENSOR_VALUE_SCALE_UNITS", "10": "SENSOR_VALUE_SCALE_KILO", "11": "SENSOR_VALUE_SCALE_MEGA", "12": "SENSOR_VALUE_SCALE_GIGA", "13": "SENSOR_VALUE_SCALE_TERA", "14": "SENSOR_VALUE_SCALE_PETA", "15": "SENSOR_VALUE_SCALE_EXA", "16": "SENSOR_VALUE_SCALE_ZETTA", "17": "SENSOR_VALUE_SCALE_YOTTA"}}, {"name": "SensorStatus", "type": "enum", "module": "hw", "values": {"0": "SENSOR_STATUS_UNDEFINED", "1": "SENSOR_STATUS_OK", "2": "SENSOR_STATUS_UNAVAILABLE", "3": "SENSOR_STATUS_NONOPERATIONAL"}}, {"name": "ComponentSensorData", "type": "message", "module": "hw", "fields": [{"name": "value", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "type", "is_choice": false, "repeated": false, "type": "SensorValueType", "lookup": true}, {"name": "scale", "is_choice": false, "repeated": false, "type": "SensorValueScale", "lookup": true}, {"name": "precision", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "status", "is_choice": false, "repeated": false, "type": "SensorStatus", "lookup": true}, {"name": "units_display", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "timestamp", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "value_update_rate", "is_choice": false, "repeated": false, "type": "uint32", "lookup": false}, {"name": "data_type", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Component", "type": "message", "module": "hw", "fields": [{"name": "name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "class", "is_choice": false, "repeated": false, "type": "ComponentType", "lookup": true}, {"name": "description", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "parent", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "parent_rel_pos", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "children", "is_choice": false, "repeated": true, "type": "Component", "lookup": true}, {"name": "hardware_rev", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "firmware_rev", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "software_rev", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "serial_num", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "mfg_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "model_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "alias", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "asset_id", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "is_fru", "is_choice": false, "repeated": false, "type": "bool", "lookup": false}, {"name": "mfg_date", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "uri", "is_choice": false, "repeated": false, "type": "Uri", "lookup": true}, {"name": "uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "state", "is_choice": false, "repeated": false, "type": "ComponentState", "lookup": true}, {"name": "sensor_data", "is_choice": false, "repeated": true, "type": "ComponentSensorData", "lookup": true}]}, {"name": "Hardware", "type": "message", "module": "hw", "fields": [{"name": "last_change", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "root", "is_choice": false, "repeated": false, "type": "Component", "lookup": true}]}, {"name": "ModifiableComponent", "type": "message", "module": "hw", "fields": [{"name": "name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "class", "is_choice": false, "repeated": false, "type": "ComponentType", "lookup": true}, {"name": "parent", "is_choice": false, "repeated": false, "type": "Component", "lookup": true}, {"name": "parent_rel_pos", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "alias", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "asset_id", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "uri", "is_choice": false, "repeated": false, "type": "Uri", "lookup": true}, {"name": "admin_state", "is_choice": false, "repeated": false, "type": "ComponentAdminState", "lookup": true}]}, {"name": "MetricNames", "type": "enum", "module": "hw_metrics_mgmt_service", "values": {"0": "METRIC_NAME_UNDEFINED", "1": "METRIC_FAN_SPEED", "100": "METRIC_CPU_TEMP", "101": "METRIC_CPU_USAGE_PERCENTAGE", "200": "METRIC_TRANSCEIVER_TEMP", "201": "METRIC_TRANSCEIVER_VOLTAGE", "202": "METRIC_TRANSCEIVER_BIAS", "203": "METRIC_TRANSCEIVER_RX_POWER", "204": "METRIC_TRANSCEIVER_TX_POWER", "205": "METRIC_TRANSCEIVER_WAVELENGTH", "300": "METRIC_DISK_TEMP", "301": "METRIC_DISK_CAPACITY", "302": "METRIC_DISK_USAGE", "303": "METRIC_DISK_USAGE_PERCENTAGE", "304": "METRIC_DISK_READ_WRITE_PERCENTAGE", "305": "METRIC_DISK_FAULTY_CELLS_PERCENTAGE", "400": "METRIC_RAM_TEMP", "401": "METRIC_RAM_CAPACITY", "402": "METRIC_RAM_USAGE", "403": "METRIC_RAM_USAGE_PERCENTAGE", "500": "METRIC_POWER_MAX", "501": "METRIC_POWER_USAGE", "502": "METRIC_POWER_USAGE_PERCENTAGE", "600": "METRIC_INNER_SURROUNDING_TEMP"}}, {"name": "MetricConfig", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "metric_id", "is_choice": false, "repeated": false, "type": "MetricNames", "lookup": true}, {"name": "is_configured", "is_choice": false, "repeated": false, "type": "bool", "lookup": false}, {"name": "poll_interval", "is_choice": false, "repeated": false, "type": "uint32", "lookup": false}]}, {"name": "MetricsConfig", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "metrics", "is_choice": false, "repeated": true, "type": "MetricConfig", "lookup": true}]}, {"name": "ListMetricsResponse", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "metrics", "is_choice": false, "repeated": false, "type": "MetricsConfig", "lookup": true}]}, {"name": "MetricsConfigurationRequest", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "operation", "is_choice": true, "cases": [{"name": "changes", "type": "MetricsConfig", "lookup": true}, {"name": "reset_to_default", "type": "bool", "lookup": false}]}]}, {"name": "MetricsConfigurationResponse", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "MetricMetaData", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Metric", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "metric_id", "is_choice": false, "repeated": false, "type": "MetricNames", "lookup": true}, {"name": "metric_metadata", "is_choice": false, "repeated": false, "type": "MetricMetaData", "lookup": true}, {"name": "value", "is_choice": false, "repeated": false, "type": "ComponentSensorData", "lookup": true}]}, {"name": "GetMetricRequest", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "meta_data", "is_choice": false, "repeated": false, "type": "MetricMetaData", "lookup": true}, {"name": "metric_id", "is_choice": false, "repeated": false, "type": "MetricNames", "lookup": true}]}, {"name": "GetMetricResponse", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "metric", "is_choice": false, "repeated": false, "type": "Metric", "lookup": true}]}, {"name": "EventIds", "type": "enum", "module": "hw_events_mgmt_service", "values": {"0": "EVENT_NAME_UNDEFINED", "100": "EVENT_TRANSCEIVER_PLUG_OUT", "101": "EVENT_TRANSCEIVER_PLUG_IN", "102": "EVENT_TRANSCEIVER_VOLTAGE_ABOVE_THRESHOLD", "103": "EVENT_TRANSCEIVER_VOLTAGE_BELOW_THRESHOLD", "104": "EVENT_TRANSCEIVER_TEMPERATURE_ABOVE_THRESHOLD", "105": "EVENT_TRANSCEIVER_TEMPERATURE_BELOW_THRESHOLD", "106": "EVENT_TRANSCEIVER_CURRENT_ABOVE_THRESHOLD", "107": "EVENT_TRANSCEIVER_CURRENT_BELOW_THRESHOLD", "108": "EVENT_TRANSCEIVER_RX_POWER_ABOVE_THRESHOLD", "109": "EVENT_TRANSCEIVER_RX_POWER_BELOW_THRESHOLD", "110": "EVENT_TRANSCEIVER_TX_POWER_ABOVE_THRESHOLD", "111": "EVENT_TRANSCEIVER_TX_POWER_BELOW_THRESHOLD", "112": "EVENT_TRANSCEIVER_FAILURE", "113": "EVENT_TRANSCEIVER_VOLTAGE_ABOVE_THRESHOLD_RECOVERED", "114": "EVENT_TRANSCEIVER_VOLTAGE_BELOW_THRESHOLD_RECOVERED", "115": "EVENT_TRANSCEIVER_TEMPERATURE_ABOVE_THRESHOLD_RECOVERED", "116": "EVENT_TRANSCEIVER_TEMPERATURE_BELOW_THRESHOLD_RECOVERED", "117": "EVENT_TRANSCEIVER_CURRENT_ABOVE_THRESHOLD_RECOVERED", "118": "EVENT_TRANSCEIVER_CURRENT_BELOW_THRESHOLD_RECOVERED", "119": "EVENT_TRANSCEIVER_RX_POWER_ABOVE_THRESHOLD_RECOVERED", "120": "EVENT_TRANSCEIVER_RX_POWER_BELOW_THRESHOLD_RECOVERED", "121": "EVENT_TRANSCEIVER_TX_POWER_ABOVE_THRESHOLD_RECOVERED", "122": "EVENT_TRANSCEIVER_TX_POWER_BELOW_THRESHOLD_RECOVERED", "123": "EVENT_TRANSCEIVER_FAILURE_RECOVERED", "200": "EVENT_PSU_PLUG_OUT", "201": "EVENT_PSU_PLUG_IN", "202": "EVENT_PSU_FAILURE", "203": "EVENT_PSU_FAILURE_RECOVERED", "300": "EVENT_FAN_FAILURE", "301": "EVENT_FAN_PLUG_OUT", "302": "EVENT_FAN_PLUG_IN", "303": "EVENT_FAN_FAILURE_RECOVERED", "400": "EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL", "401": "EVENT_CPU_TEMPERATURE_ABOVE_FATAL", "402": "EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL_RECOVERED", "403": "EVENT_CPU_TEMPERATURE_ABOVE_FATAL_RECOVERED", "500": "EVENT_HW_DEVICE_RESET", "501": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL", "502": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL", "503": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL_RECOVERED", "504": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL_RECOVERED"}}, {"name": "ValueType", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "val", "is_choice": true, "cases": [{"name": "int_val", "type": "int64", "lookup": false}, {"name": "uint_val", "type": "uint64", "lookup": false}, {"name": "float_val", "type": "float", "lookup": false}]}]}, {"name": "WaterMarks", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "high", "is_choice": false, "repeated": false, "type": "ValueType", "lookup": true}, {"name": "low", "is_choice": false, "repeated": false, "type": "ValueType", "lookup": true}]}, {"name": "Thresholds", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "threshold", "is_choice": true, "cases": [{"name": "upper", "type": "WaterMarks", "lookup": true}, {"name": "lower", "type": "WaterMarks", "lookup": true}]}]}, {"name": "ThresholdInformation", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "observed_value", "is_choice": false, "repeated": false, "type": "ValueType", "lookup": true}, {"name": "thresholds", "is_choice": false, "repeated": false, "type": "Thresholds", "lookup": true}]}, {"name": "EventCfg", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "event_id", "is_choice": false, "repeated": false, "type": "EventIds", "lookup": true}, {"name": "is_configured", "is_choice": false, "repeated": false, "type": "bool", "lookup": false}, {"name": "thresholds", "is_choice": false, "repeated": false, "type": "Thresholds", "lookup": true}]}, {"name": "EventsCfg", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "items", "is_choice": false, "repeated": true, "type": "EventCfg", "lookup": true}]}, {"name": "ListEventsResponse", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "events", "is_choice": false, "repeated": false, "type": "EventsCfg", "lookup": true}]}, {"name": "EventsConfigurationRequest", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "operation", "is_choice": true, "cases": [{"name": "changes", "type": "EventsCfg", "lookup": true}, {"name": "reset_to_default", "type": "bool", "lookup": false}]}]}, {"name": "EventsConfigurationResponse", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "EventMetaData", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Event", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "event_metadata", "is_choice": false, "repeated": false, "type": "EventMetaData", "lookup": true}, {"name": "event_id", "is_choice": false, "repeated": false, "type": "EventIds", "lookup": true}, {"name": "raised_ts", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "threshold_info", "is_choice": false, "repeated": false, "type": "ThresholdInformation", "lookup": true}, {"name": "add_info", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ImageVersion", "type": "message", "module": "sw_image", "fields": [{"name": "image_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "version", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ImageInformation", "type": "message", "module": "sw_image", "fields": [{"name": "image", "is_choice": false, "repeated": false, "type": "ImageVersion", "lookup": true}, {"name": "image_install_script", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "image_url", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "sha256sum", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ImageState", "type": "enum", "module": "sw_image", "values": {"0": "UNDEFINED_STATE", "1": "COPYING_IMAGE", "2": "INSTALLING_IMAGE", "3": "COMMITTING_IMAGE", "4": "REBOOTING_DEVICE", "5": "UPGRADE_COMPLETE", "6": "UPGRADE_FAILED", "7": "ACTIVATION_COMPLETE", "8": "ACTIVATION_FAILED"}}, {"name": "Reason", "type": "enum", "module": "sw_image", "values": {"0": "UNDEFINED_REASON", "1": "ERROR_IN_REQUEST", "2": "INTERNAL_ERROR", "3": "DEVICE_IN_WRONG_STATE", "4": "INVALID_IMAGE", "5": "WRONG_IMAGE_CHECKSUM"}}, {"name": "ImageStatus", "type": "message", "module": "sw_image", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "state", "is_choice": false, "repeated": false, "type": "ImageState", "lookup": true}, {"name": "description", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "PhysicalInventoryRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "PhysicalInventoryResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "inventory", "is_choice": false, "repeated": false, "type": "Hardware", "lookup": true}]}, {"name": "HWComponentInfoGetRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "HWComponentInfoGetResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "component", "is_choice": false, "repeated": false, "type": "Component", "lookup": true}]}, {"name": "HWComponentInfoSetRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "changes", "is_choice": false, "repeated": false, "type": "ModifiableComponent", "lookup": true}]}, {"name": "HWComponentInfoSetResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "StartManagingDeviceResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "StopManagingDeviceRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "StopManagingDeviceResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "ManagedDevicesResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "devices", "is_choice": false, "repeated": true, "type": "ModifiableComponent", "lookup": true}]}, {"name": "SetLoggingEndpointRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "logging_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "logging_protocol", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "SetRemoteEndpointResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "GetLoggingEndpointResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "logging_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "logging_protocol", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "SetMsgBusEndpointRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "msgbus_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "GetMsgBusEndpointResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "msgbus_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "EntitiesLogLevel", "type": "message", "module": "hw_management_service", "fields": [{"name": "logLevel", "is_choice": false, "repeated": false, "type": "LogLevel", "lookup": true}, {"name": "entities", "is_choice": false, "repeated": true, "type": "string", "lookup": false}]}, {"name": "SetLogLevelRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "loglevels", "is_choice": false, "repeated": true, "type": "EntitiesLogLevel", "lookup": true}]}, {"name": "SetLogLevelResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "responses", "is_choice": false, "repeated": true, "type": "DeviceLogResponse", "lookup": true}]}, {"name": "DeviceLogResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "GetLogLevelRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "entities", "is_choice": false, "repeated": true, "type": "string", "lookup": false}]}, {"name": "GetLogLevelResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "logLevels", "is_choice": false, "repeated": true, "type": "EntitiesLogLevel", "lookup": true}, {"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "GetLoggableEntitiesRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "SoftwareVersionInformation", "type": "message", "module": "sw_management_service", "fields": [{"name": "active_versions", "is_choice": false, "repeated": true, "type": "ImageVersion", "lookup": true}, {"name": "standby_versions", "is_choice": false, "repeated": true, "type": "ImageVersion", "lookup": true}]}, {"name": "GetSoftwareVersionInformationResponse", "type": "message", "module": "sw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "info", "is_choice": false, "repeated": false, "type": "SoftwareVersionInformation", "lookup": true}]}, {"name": "DownloadImageRequest", "type": "message", "module": "sw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "image_info", "is_choice": false, "repeated": false, "type": "ImageInformation", "lookup": true}]}], "services": [{"name": "NativeMetricsManagementService", "module": "hw_metrics_mgmt_service", "rpcs": [{"name": "ListMetrics", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "ListMetricsResponse", "lookup": true}}, {"name": "UpdateMetricsConfiguration", "request": {"is_stream": false, "type": "MetricsConfigurationRequest", "lookup": true}, "response": {"is_stream": false, "type": "MetricsConfigurationResponse", "lookup": true}}, {"name": "GetMetric", "request": {"is_stream": false, "type": "GetMetricRequest", "lookup": true}, "response": {"is_stream": false, "type": "GetMetricResponse", "lookup": true}}]}, {"name": "NativeEventsManagementService", "module": "hw_events_mgmt_service", "rpcs": [{"name": "ListEvents", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "ListEventsResponse", "lookup": true}}, {"name": "UpdateEventsConfiguration", "request": {"is_stream": false, "type": "EventsConfigurationRequest", "lookup": true}, "response": {"is_stream": false, "type": "EventsConfigurationResponse", "lookup": true}}]}, {"name": "NativeHWManagementService", "module": "hw_management_service", "rpcs": [{"name": "StartManagingDevice", "request": {"is_stream": false, "type": "ModifiableComponent", "lookup": true}, "response": {"is_stream": true, "type": "StartManagingDeviceResponse", "lookup": true}}, {"name": "StopManagingDevice", "request": {"is_stream": false, "type": "StopManagingDeviceRequest", "lookup": true}, "response": {"is_stream": false, "type": "StopManagingDeviceResponse", "lookup": true}}, {"name": "GetManagedDevices", "request": {"is_stream": false, "type": "google.protobuf.Empty", "lookup": false}, "response": {"is_stream": false, "type": "ManagedDevicesResponse", "lookup": true}}, {"name": "GetPhysicalInventory", "request": {"is_stream": false, "type": "PhysicalInventoryRequest", "lookup": true}, "response": {"is_stream": true, "type": "PhysicalInventoryResponse", "lookup": true}}, {"name": "GetHWComponentInfo", "request": {"is_stream": false, "type": "HWComponentInfoGetRequest", "lookup": true}, "response": {"is_stream": true, "type": "HWComponentInfoGetResponse", "lookup": true}}, {"name": "SetHWComponentInfo", "request": {"is_stream": false, "type": "HWComponentInfoSetRequest", "lookup": true}, "response": {"is_stream": false, "type": "HWComponentInfoSetResponse", "lookup": true}}, {"name": "SetLoggingEndpoint", "request": {"is_stream": false, "type": "SetLoggingEndpointRequest", "lookup": true}, "response": {"is_stream": false, "type": "SetRemoteEndpointResponse", "lookup": true}}, {"name": "GetLoggingEndpoint", "request": {"is_stream": false, "type": "Uuid", "lookup": true}, "response": {"is_stream": false, "type": "GetLoggingEndpointResponse", "lookup": true}}, {"name": "SetMsgBusEndpoint", "request": {"is_stream": false, "type": "SetMsgBusEndpointRequest", "lookup": true}, "response": {"is_stream": false, "type": "SetRemoteEndpointResponse", "lookup": true}}, {"name": "GetMsgBusEndpoint", "request": {"is_stream": false, "type": "google.protobuf.Empty", "lookup": false}, "response": {"is_stream": false, "type": "GetMsgBusEndpointResponse", "lookup": true}}, {"name": "GetLoggableEntities", "request": {"is_stream": false, "type": "GetLoggableEntitiesRequest", "lookup": true}, "response": {"is_stream": false, "type": "GetLogLevelResponse", "lookup": true}}, {"name": "SetLogLevel", "request": {"is_stream": false, "type": "SetLogLevelRequest", "lookup": true}, "response": {"is_stream": false, "type": "SetLogLevelResponse", "lookup": true}}, {"name": "GetLogLevel", "request": {"is_stream": false, "type": "GetLogLevelRequest", "lookup": true}, "response": {"is_stream": false, "type": "GetLogLevelResponse", "lookup": true}}]}, {"name": "NativeSoftwareManagementService", "module": "sw_management_service", "rpcs": [{"name": "GetSoftwareVersion", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "GetSoftwareVersionInformationResponse", "lookup": true}}, {"name": "DownloadImage", "request": {"is_stream": false, "type": "DownloadImageRequest", "lookup": true}, "response": {"is_stream": true, "type": "ImageStatus", "lookup": true}}, {"name": "ActivateImage", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": true, "type": "ImageStatus", "lookup": true}}, {"name": "RevertToStandbyImage", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": true, "type": "ImageStatus", "lookup": true}}]}]}
\ No newline at end of file
diff --git a/grpc_robot/services/dmi/dmi_0_9_4/__init__.py b/grpc_robot/services/dmi/dmi_0_9_4/__init__.py
new file mode 100644
index 0000000..789917d
--- /dev/null
+++ b/grpc_robot/services/dmi/dmi_0_9_4/__init__.py
@@ -0,0 +1,17 @@
+# Copyright 2020-present Open Networking Foundation
+# Original copyright 2020-present ADTRAN, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+from ..dmi_0_9_1.hw_events_mgmt_service import *
+from ..dmi_0_9_1.hw_metrics_mgmt_service import *
+from ..dmi_0_9_1.sw_management_service import *
+from .hw_management_service import *
diff --git a/grpc_robot/services/dmi/dmi_0_9_4/dmi.json b/grpc_robot/services/dmi/dmi_0_9_4/dmi.json
new file mode 100644
index 0000000..eee2af4
--- /dev/null
+++ b/grpc_robot/services/dmi/dmi_0_9_4/dmi.json
@@ -0,0 +1 @@
+{"modules": [{"name": "commons", "imports": []}, {"name": "hw", "imports": ["timestamp"]}, {"name": "hw_metrics_mgmt_service", "imports": ["commons", "hw"]}, {"name": "hw_events_mgmt_service", "imports": ["commons", "hw", "timestamp"]}, {"name": "sw_image", "imports": ["commons"]}, {"name": "hw_management_service", "imports": ["commons", "hw", "empty"]}, {"name": "sw_management_service", "imports": ["commons", "hw", "sw_image"]}], "data_types": [{"name": "Status", "type": "enum", "module": "commons", "values": {"0": "UNDEFINED_STATUS", "1": "OK_STATUS", "2": "ERROR_STATUS"}}, {"name": "Reason", "type": "enum", "module": "commons", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "WRONG_METRIC", "4": "WRONG_EVENT", "5": "LOGGING_ENDPOINT_ERROR", "6": "LOGGING_ENDPOINT_PROTOCOL_ERROR", "7": "KAFKA_ENDPOINT_ERROR", "8": "UNKNOWN_LOG_ENTITY"}}, {"name": "LogLevel", "type": "enum", "module": "commons", "values": {"0": "TRACE", "1": "DEBUG", "2": "INFO", "3": "WARN", "4": "ERROR"}}, {"name": "Uuid", "type": "message", "module": "hw", "fields": [{"name": "uuid", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "HardwareID", "type": "message", "module": "hw", "fields": [{"name": "uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "Uri", "type": "message", "module": "hw", "fields": [{"name": "uri", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ComponentType", "type": "enum", "module": "hw", "values": {"0": "COMPONENT_TYPE_UNDEFINED", "1": "COMPONENT_TYPE_UNKNOWN", "2": "COMPONENT_TYPE_CHASSIS", "3": "COMPONENT_TYPE_BACKPLANE", "4": "COMPONENT_TYPE_CONTAINER", "5": "COMPONENT_TYPE_POWER_SUPPLY", "6": "COMPONENT_TYPE_FAN", "7": "COMPONENT_TYPE_SENSOR", "8": "COMPONENT_TYPE_MODULE", "9": "COMPONENT_TYPE_PORT", "10": "COMPONENT_TYPE_CPU", "11": "COMPONENT_TYPE_BATTERY", "12": "COMPONENT_TYPE_STORAGE", "13": "COMPONENT_TYPE_MEMORY", "14": "COMPONENT_TYPE_TRANSCEIVER", "15": "COMPONENT_TYPE_GPON_TRANSCEIVER", "16": "COMPONENT_TYPE_XGS_PON_TRANSCEIVER"}}, {"name": "ComponentAdminState", "type": "enum", "module": "hw", "values": {"0": "COMP_ADMIN_STATE_UNDEFINED", "1": "COMP_ADMIN_STATE_UNKNOWN", "2": "COMP_ADMIN_STATE_LOCKED", "3": "COMP_ADMIN_STATE_SHUTTING_DOWN", "4": "COMP_ADMIN_STATE_UNLOCKED"}}, {"name": "ComponentOperState", "type": "enum", "module": "hw", "values": {"0": "COMP_OPER_STATE_UNDEFINED", "1": "COMP_OPER_STATE_UNKNOWN", "2": "COMP_OPER_STATE_DISABLED", "3": "COMP_OPER_STATE_ENABLED", "4": "COMP_OPER_STATE_TESTING"}}, {"name": "ComponentUsageState", "type": "enum", "module": "hw", "values": {"0": "COMP_USAGE_STATE_UNDEFINED", "1": "COMP_USAGE_STATE_UNKNOWN", "2": "COMP_USAGE_STATE_IDLE", "3": "COMP_USAGE_STATE_ACTIVE", "4": "COMP_USAGE_STATE_BUSY"}}, {"name": "ComponentAlarmState", "type": "enum", "module": "hw", "values": {"0": "COMP_ALARM_STATE_UNDEFINED", "1": "COMP_ALARM_STATE_UNKNOWN", "2": "COMP_ALARM_STATE_UNDER_REPAIR", "3": "COMP_ALARM_STATE_CRITICAL", "4": "COMP_ALARM_STATE_MAJOR", "5": "COMP_ALARM_STATE_MINOR", "6": "COMP_ALARM_STATE_WARNING", "7": "COMP_ALARM_STATE_INTERMEDIATE"}}, {"name": "ComponentStandbyState", "type": "enum", "module": "hw", "values": {"0": "COMP_STANDBY_STATE_UNDEFINED", "1": "COMP_STANDBY_STATE_UNKNOWN", "2": "COMP_STANDBY_STATE_HOT", "3": "COMP_STANDBY_STATE_COLD", "4": "COMP_STANDBY_STATE_PROVIDING_SERVICE"}}, {"name": "ComponentState", "type": "message", "module": "hw", "fields": [{"name": "state_last_changed", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "admin_state", "is_choice": false, "repeated": false, "type": "ComponentAdminState", "lookup": true}, {"name": "oper_state", "is_choice": false, "repeated": false, "type": "ComponentOperState", "lookup": true}, {"name": "usage_state", "is_choice": false, "repeated": false, "type": "ComponentUsageState", "lookup": true}, {"name": "alarm_state", "is_choice": false, "repeated": false, "type": "ComponentAlarmState", "lookup": true}, {"name": "standby_state", "is_choice": false, "repeated": false, "type": "ComponentStandbyState", "lookup": true}]}, {"name": "SensorValueType", "type": "enum", "module": "hw", "values": {"0": "SENSOR_VALUE_TYPE_UNDEFINED", "1": "SENSOR_VALUE_TYPE_OTHER", "2": "SENSOR_VALUE_TYPE_UNKNOWN", "3": "SENSOR_VALUE_TYPE_VOLTS_AC", "4": "SENSOR_VALUE_TYPE_VOLTS_DC", "5": "SENSOR_VALUE_TYPE_AMPERES", "6": "SENSOR_VALUE_TYPE_WATTS", "7": "SENSOR_VALUE_TYPE_HERTZ", "8": "SENSOR_VALUE_TYPE_CELSIUS", "9": "SENSOR_VALUE_TYPE_PERCENT_RH", "10": "SENSOR_VALUE_TYPE_RPM", "11": "SENSOR_VALUE_TYPE_CMM", "12": "SENSOR_VALUE_TYPE_TRUTH_VALUE"}}, {"name": "SensorValueScale", "type": "enum", "module": "hw", "values": {"0": "SENSOR_VALUE_SCALE_UNDEFINED", "1": "SENSOR_VALUE_SCALE_YOCTO", "2": "SENSOR_VALUE_SCALE_ZEPTO", "3": "SENSOR_VALUE_SCALE_ATTO", "4": "SENSOR_VALUE_SCALE_FEMTO", "5": "SENSOR_VALUE_SCALE_PICO", "6": "SENSOR_VALUE_SCALE_NANO", "7": "SENSOR_VALUE_SCALE_MICRO", "8": "SENSOR_VALUE_SCALE_MILLI", "9": "SENSOR_VALUE_SCALE_UNITS", "10": "SENSOR_VALUE_SCALE_KILO", "11": "SENSOR_VALUE_SCALE_MEGA", "12": "SENSOR_VALUE_SCALE_GIGA", "13": "SENSOR_VALUE_SCALE_TERA", "14": "SENSOR_VALUE_SCALE_PETA", "15": "SENSOR_VALUE_SCALE_EXA", "16": "SENSOR_VALUE_SCALE_ZETTA", "17": "SENSOR_VALUE_SCALE_YOTTA"}}, {"name": "SensorStatus", "type": "enum", "module": "hw", "values": {"0": "SENSOR_STATUS_UNDEFINED", "1": "SENSOR_STATUS_OK", "2": "SENSOR_STATUS_UNAVAILABLE", "3": "SENSOR_STATUS_NONOPERATIONAL"}}, {"name": "ComponentSensorData", "type": "message", "module": "hw", "fields": [{"name": "value", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "type", "is_choice": false, "repeated": false, "type": "SensorValueType", "lookup": true}, {"name": "scale", "is_choice": false, "repeated": false, "type": "SensorValueScale", "lookup": true}, {"name": "precision", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "status", "is_choice": false, "repeated": false, "type": "SensorStatus", "lookup": true}, {"name": "units_display", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "timestamp", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "value_update_rate", "is_choice": false, "repeated": false, "type": "uint32", "lookup": false}, {"name": "data_type", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Component", "type": "message", "module": "hw", "fields": [{"name": "name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "class", "is_choice": false, "repeated": false, "type": "ComponentType", "lookup": true}, {"name": "description", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "parent", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "parent_rel_pos", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "children", "is_choice": false, "repeated": true, "type": "Component", "lookup": true}, {"name": "hardware_rev", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "firmware_rev", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "software_rev", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "serial_num", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "mfg_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "model_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "alias", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "asset_id", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "is_fru", "is_choice": false, "repeated": false, "type": "bool", "lookup": false}, {"name": "mfg_date", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "uri", "is_choice": false, "repeated": false, "type": "Uri", "lookup": true}, {"name": "uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "state", "is_choice": false, "repeated": false, "type": "ComponentState", "lookup": true}, {"name": "sensor_data", "is_choice": false, "repeated": true, "type": "ComponentSensorData", "lookup": true}]}, {"name": "Hardware", "type": "message", "module": "hw", "fields": [{"name": "last_change", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "root", "is_choice": false, "repeated": false, "type": "Component", "lookup": true}]}, {"name": "ModifiableComponent", "type": "message", "module": "hw", "fields": [{"name": "name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "class", "is_choice": false, "repeated": false, "type": "ComponentType", "lookup": true}, {"name": "parent", "is_choice": false, "repeated": false, "type": "Component", "lookup": true}, {"name": "parent_rel_pos", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "alias", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "asset_id", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "uri", "is_choice": false, "repeated": false, "type": "Uri", "lookup": true}, {"name": "admin_state", "is_choice": false, "repeated": false, "type": "ComponentAdminState", "lookup": true}]}, {"name": "MetricNames", "type": "enum", "module": "hw_metrics_mgmt_service", "values": {"0": "METRIC_NAME_UNDEFINED", "1": "METRIC_FAN_SPEED", "100": "METRIC_CPU_TEMP", "101": "METRIC_CPU_USAGE_PERCENTAGE", "200": "METRIC_TRANSCEIVER_TEMP", "201": "METRIC_TRANSCEIVER_VOLTAGE", "202": "METRIC_TRANSCEIVER_BIAS", "203": "METRIC_TRANSCEIVER_RX_POWER", "204": "METRIC_TRANSCEIVER_TX_POWER", "205": "METRIC_TRANSCEIVER_WAVELENGTH", "300": "METRIC_DISK_TEMP", "301": "METRIC_DISK_CAPACITY", "302": "METRIC_DISK_USAGE", "303": "METRIC_DISK_USAGE_PERCENTAGE", "304": "METRIC_DISK_READ_WRITE_PERCENTAGE", "305": "METRIC_DISK_FAULTY_CELLS_PERCENTAGE", "400": "METRIC_RAM_TEMP", "401": "METRIC_RAM_CAPACITY", "402": "METRIC_RAM_USAGE", "403": "METRIC_RAM_USAGE_PERCENTAGE", "500": "METRIC_POWER_MAX", "501": "METRIC_POWER_USAGE", "502": "METRIC_POWER_USAGE_PERCENTAGE", "600": "METRIC_INNER_SURROUNDING_TEMP"}}, {"name": "MetricConfig", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "metric_id", "is_choice": false, "repeated": false, "type": "MetricNames", "lookup": true}, {"name": "is_configured", "is_choice": false, "repeated": false, "type": "bool", "lookup": false}, {"name": "poll_interval", "is_choice": false, "repeated": false, "type": "uint32", "lookup": false}]}, {"name": "MetricsConfig", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "metrics", "is_choice": false, "repeated": true, "type": "MetricConfig", "lookup": true}]}, {"name": "ListMetricsResponse", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "metrics", "is_choice": false, "repeated": false, "type": "MetricsConfig", "lookup": true}]}, {"name": "MetricsConfigurationRequest", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "operation", "is_choice": true, "cases": [{"name": "changes", "type": "MetricsConfig", "lookup": true}, {"name": "reset_to_default", "type": "bool", "lookup": false}]}]}, {"name": "MetricsConfigurationResponse", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "MetricMetaData", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Metric", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "metric_id", "is_choice": false, "repeated": false, "type": "MetricNames", "lookup": true}, {"name": "metric_metadata", "is_choice": false, "repeated": false, "type": "MetricMetaData", "lookup": true}, {"name": "value", "is_choice": false, "repeated": false, "type": "ComponentSensorData", "lookup": true}]}, {"name": "GetMetricRequest", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "meta_data", "is_choice": false, "repeated": false, "type": "MetricMetaData", "lookup": true}, {"name": "metric_id", "is_choice": false, "repeated": false, "type": "MetricNames", "lookup": true}]}, {"name": "GetMetricResponse", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "metric", "is_choice": false, "repeated": false, "type": "Metric", "lookup": true}]}, {"name": "EventIds", "type": "enum", "module": "hw_events_mgmt_service", "values": {"0": "EVENT_NAME_UNDEFINED", "100": "EVENT_TRANSCEIVER_PLUG_OUT", "101": "EVENT_TRANSCEIVER_PLUG_IN", "102": "EVENT_TRANSCEIVER_VOLTAGE_ABOVE_THRESHOLD", "103": "EVENT_TRANSCEIVER_VOLTAGE_BELOW_THRESHOLD", "104": "EVENT_TRANSCEIVER_TEMPERATURE_ABOVE_THRESHOLD", "105": "EVENT_TRANSCEIVER_TEMPERATURE_BELOW_THRESHOLD", "106": "EVENT_TRANSCEIVER_CURRENT_ABOVE_THRESHOLD", "107": "EVENT_TRANSCEIVER_CURRENT_BELOW_THRESHOLD", "108": "EVENT_TRANSCEIVER_RX_POWER_ABOVE_THRESHOLD", "109": "EVENT_TRANSCEIVER_RX_POWER_BELOW_THRESHOLD", "110": "EVENT_TRANSCEIVER_TX_POWER_ABOVE_THRESHOLD", "111": "EVENT_TRANSCEIVER_TX_POWER_BELOW_THRESHOLD", "112": "EVENT_TRANSCEIVER_FAILURE", "113": "EVENT_TRANSCEIVER_VOLTAGE_ABOVE_THRESHOLD_RECOVERED", "114": "EVENT_TRANSCEIVER_VOLTAGE_BELOW_THRESHOLD_RECOVERED", "115": "EVENT_TRANSCEIVER_TEMPERATURE_ABOVE_THRESHOLD_RECOVERED", "116": "EVENT_TRANSCEIVER_TEMPERATURE_BELOW_THRESHOLD_RECOVERED", "117": "EVENT_TRANSCEIVER_CURRENT_ABOVE_THRESHOLD_RECOVERED", "118": "EVENT_TRANSCEIVER_CURRENT_BELOW_THRESHOLD_RECOVERED", "119": "EVENT_TRANSCEIVER_RX_POWER_ABOVE_THRESHOLD_RECOVERED", "120": "EVENT_TRANSCEIVER_RX_POWER_BELOW_THRESHOLD_RECOVERED", "121": "EVENT_TRANSCEIVER_TX_POWER_ABOVE_THRESHOLD_RECOVERED", "122": "EVENT_TRANSCEIVER_TX_POWER_BELOW_THRESHOLD_RECOVERED", "123": "EVENT_TRANSCEIVER_FAILURE_RECOVERED", "200": "EVENT_PSU_PLUG_OUT", "201": "EVENT_PSU_PLUG_IN", "202": "EVENT_PSU_FAILURE", "203": "EVENT_PSU_FAILURE_RECOVERED", "300": "EVENT_FAN_FAILURE", "301": "EVENT_FAN_PLUG_OUT", "302": "EVENT_FAN_PLUG_IN", "303": "EVENT_FAN_FAILURE_RECOVERED", "400": "EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL", "401": "EVENT_CPU_TEMPERATURE_ABOVE_FATAL", "402": "EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL_RECOVERED", "403": "EVENT_CPU_TEMPERATURE_ABOVE_FATAL_RECOVERED", "500": "EVENT_HW_DEVICE_RESET", "501": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL", "502": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL", "503": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL_RECOVERED", "504": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL_RECOVERED"}}, {"name": "ValueType", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "val", "is_choice": true, "cases": [{"name": "int_val", "type": "int64", "lookup": false}, {"name": "uint_val", "type": "uint64", "lookup": false}, {"name": "float_val", "type": "float", "lookup": false}]}]}, {"name": "WaterMarks", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "high", "is_choice": false, "repeated": false, "type": "ValueType", "lookup": true}, {"name": "low", "is_choice": false, "repeated": false, "type": "ValueType", "lookup": true}]}, {"name": "Thresholds", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "threshold", "is_choice": true, "cases": [{"name": "upper", "type": "WaterMarks", "lookup": true}, {"name": "lower", "type": "WaterMarks", "lookup": true}]}]}, {"name": "ThresholdInformation", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "observed_value", "is_choice": false, "repeated": false, "type": "ValueType", "lookup": true}, {"name": "thresholds", "is_choice": false, "repeated": false, "type": "Thresholds", "lookup": true}]}, {"name": "EventCfg", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "event_id", "is_choice": false, "repeated": false, "type": "EventIds", "lookup": true}, {"name": "is_configured", "is_choice": false, "repeated": false, "type": "bool", "lookup": false}, {"name": "thresholds", "is_choice": false, "repeated": false, "type": "Thresholds", "lookup": true}]}, {"name": "EventsCfg", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "items", "is_choice": false, "repeated": true, "type": "EventCfg", "lookup": true}]}, {"name": "ListEventsResponse", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "events", "is_choice": false, "repeated": false, "type": "EventsCfg", "lookup": true}]}, {"name": "EventsConfigurationRequest", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "operation", "is_choice": true, "cases": [{"name": "changes", "type": "EventsCfg", "lookup": true}, {"name": "reset_to_default", "type": "bool", "lookup": false}]}]}, {"name": "EventsConfigurationResponse", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "EventMetaData", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Event", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "event_metadata", "is_choice": false, "repeated": false, "type": "EventMetaData", "lookup": true}, {"name": "event_id", "is_choice": false, "repeated": false, "type": "EventIds", "lookup": true}, {"name": "raised_ts", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "threshold_info", "is_choice": false, "repeated": false, "type": "ThresholdInformation", "lookup": true}, {"name": "add_info", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ImageVersion", "type": "message", "module": "sw_image", "fields": [{"name": "image_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "version", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ImageInformation", "type": "message", "module": "sw_image", "fields": [{"name": "image", "is_choice": false, "repeated": false, "type": "ImageVersion", "lookup": true}, {"name": "image_install_script", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "image_url", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "sha256sum", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ImageState", "type": "enum", "module": "sw_image", "values": {"0": "UNDEFINED_STATE", "1": "COPYING_IMAGE", "2": "INSTALLING_IMAGE", "3": "COMMITTING_IMAGE", "4": "REBOOTING_DEVICE", "5": "UPGRADE_COMPLETE", "6": "UPGRADE_FAILED", "7": "ACTIVATION_COMPLETE", "8": "ACTIVATION_FAILED"}}, {"name": "Reason", "type": "enum", "module": "sw_image", "values": {"0": "UNDEFINED_REASON", "1": "ERROR_IN_REQUEST", "2": "INTERNAL_ERROR", "3": "DEVICE_IN_WRONG_STATE", "4": "INVALID_IMAGE", "5": "WRONG_IMAGE_CHECKSUM"}}, {"name": "ImageStatus", "type": "message", "module": "sw_image", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "state", "is_choice": false, "repeated": false, "type": "ImageState", "lookup": true}, {"name": "description", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "PhysicalInventoryRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "PhysicalInventoryResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "inventory", "is_choice": false, "repeated": false, "type": "Hardware", "lookup": true}]}, {"name": "HWComponentInfoGetRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "HWComponentInfoGetResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "component", "is_choice": false, "repeated": false, "type": "Component", "lookup": true}]}, {"name": "HWComponentInfoSetRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "changes", "is_choice": false, "repeated": false, "type": "ModifiableComponent", "lookup": true}]}, {"name": "HWComponentInfoSetResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "StartManagingDeviceResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "StopManagingDeviceRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "StopManagingDeviceResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "ManagedDevicesResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "devices", "is_choice": false, "repeated": true, "type": "ModifiableComponent", "lookup": true}]}, {"name": "SetLoggingEndpointRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "logging_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "logging_protocol", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "SetRemoteEndpointResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "GetLoggingEndpointResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "logging_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "logging_protocol", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "SetMsgBusEndpointRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "msgbus_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "GetMsgBusEndpointResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "msgbus_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "EntitiesLogLevel", "type": "message", "module": "hw_management_service", "fields": [{"name": "logLevel", "is_choice": false, "repeated": false, "type": "LogLevel", "lookup": true}, {"name": "entities", "is_choice": false, "repeated": true, "type": "string", "lookup": false}]}, {"name": "SetLogLevelRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "loglevels", "is_choice": false, "repeated": true, "type": "EntitiesLogLevel", "lookup": true}]}, {"name": "SetLogLevelResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "GetLogLevelRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "entities", "is_choice": false, "repeated": true, "type": "string", "lookup": false}]}, {"name": "GetLogLevelResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "logLevels", "is_choice": false, "repeated": true, "type": "EntitiesLogLevel", "lookup": true}, {"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "GetLoggableEntitiesRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "SoftwareVersionInformation", "type": "message", "module": "sw_management_service", "fields": [{"name": "active_versions", "is_choice": false, "repeated": true, "type": "ImageVersion", "lookup": true}, {"name": "standby_versions", "is_choice": false, "repeated": true, "type": "ImageVersion", "lookup": true}]}, {"name": "GetSoftwareVersionInformationResponse", "type": "message", "module": "sw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "info", "is_choice": false, "repeated": false, "type": "SoftwareVersionInformation", "lookup": true}]}, {"name": "DownloadImageRequest", "type": "message", "module": "sw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "image_info", "is_choice": false, "repeated": false, "type": "ImageInformation", "lookup": true}]}], "services": [{"name": "NativeMetricsManagementService", "module": "hw_metrics_mgmt_service", "rpcs": [{"name": "ListMetrics", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "ListMetricsResponse", "lookup": true}}, {"name": "UpdateMetricsConfiguration", "request": {"is_stream": false, "type": "MetricsConfigurationRequest", "lookup": true}, "response": {"is_stream": false, "type": "MetricsConfigurationResponse", "lookup": true}}, {"name": "GetMetric", "request": {"is_stream": false, "type": "GetMetricRequest", "lookup": true}, "response": {"is_stream": false, "type": "GetMetricResponse", "lookup": true}}]}, {"name": "NativeEventsManagementService", "module": "hw_events_mgmt_service", "rpcs": [{"name": "ListEvents", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "ListEventsResponse", "lookup": true}}, {"name": "UpdateEventsConfiguration", "request": {"is_stream": false, "type": "EventsConfigurationRequest", "lookup": true}, "response": {"is_stream": false, "type": "EventsConfigurationResponse", "lookup": true}}]}, {"name": "NativeHWManagementService", "module": "hw_management_service", "rpcs": [{"name": "StartManagingDevice", "request": {"is_stream": false, "type": "ModifiableComponent", "lookup": true}, "response": {"is_stream": true, "type": "StartManagingDeviceResponse", "lookup": true}}, {"name": "StopManagingDevice", "request": {"is_stream": false, "type": "StopManagingDeviceRequest", "lookup": true}, "response": {"is_stream": false, "type": "StopManagingDeviceResponse", "lookup": true}}, {"name": "GetManagedDevices", "request": {"is_stream": false, "type": "google.protobuf.Empty", "lookup": false}, "response": {"is_stream": false, "type": "ManagedDevicesResponse", "lookup": true}}, {"name": "GetPhysicalInventory", "request": {"is_stream": false, "type": "PhysicalInventoryRequest", "lookup": true}, "response": {"is_stream": true, "type": "PhysicalInventoryResponse", "lookup": true}}, {"name": "GetHWComponentInfo", "request": {"is_stream": false, "type": "HWComponentInfoGetRequest", "lookup": true}, "response": {"is_stream": true, "type": "HWComponentInfoGetResponse", "lookup": true}}, {"name": "SetHWComponentInfo", "request": {"is_stream": false, "type": "HWComponentInfoSetRequest", "lookup": true}, "response": {"is_stream": false, "type": "HWComponentInfoSetResponse", "lookup": true}}, {"name": "SetLoggingEndpoint", "request": {"is_stream": false, "type": "SetLoggingEndpointRequest", "lookup": true}, "response": {"is_stream": false, "type": "SetRemoteEndpointResponse", "lookup": true}}, {"name": "GetLoggingEndpoint", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "GetLoggingEndpointResponse", "lookup": true}}, {"name": "SetMsgBusEndpoint", "request": {"is_stream": false, "type": "SetMsgBusEndpointRequest", "lookup": true}, "response": {"is_stream": false, "type": "SetRemoteEndpointResponse", "lookup": true}}, {"name": "GetMsgBusEndpoint", "request": {"is_stream": false, "type": "google.protobuf.Empty", "lookup": false}, "response": {"is_stream": false, "type": "GetMsgBusEndpointResponse", "lookup": true}}, {"name": "GetLoggableEntities", "request": {"is_stream": false, "type": "GetLoggableEntitiesRequest", "lookup": true}, "response": {"is_stream": false, "type": "GetLogLevelResponse", "lookup": true}}, {"name": "SetLogLevel", "request": {"is_stream": false, "type": "SetLogLevelRequest", "lookup": true}, "response": {"is_stream": false, "type": "SetLogLevelResponse", "lookup": true}}, {"name": "GetLogLevel", "request": {"is_stream": false, "type": "GetLogLevelRequest", "lookup": true}, "response": {"is_stream": false, "type": "GetLogLevelResponse", "lookup": true}}]}, {"name": "NativeSoftwareManagementService", "module": "sw_management_service", "rpcs": [{"name": "GetSoftwareVersion", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "GetSoftwareVersionInformationResponse", "lookup": true}}, {"name": "DownloadImage", "request": {"is_stream": false, "type": "DownloadImageRequest", "lookup": true}, "response": {"is_stream": true, "type": "ImageStatus", "lookup": true}}, {"name": "ActivateImage", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": true, "type": "ImageStatus", "lookup": true}}, {"name": "RevertToStandbyImage", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": true, "type": "ImageStatus", "lookup": true}}]}]}
\ No newline at end of file
diff --git a/grpc_robot/services/dmi/dmi_0_9_4/hw_management_service.py b/grpc_robot/services/dmi/dmi_0_9_4/hw_management_service.py
new file mode 100644
index 0000000..5430d07
--- /dev/null
+++ b/grpc_robot/services/dmi/dmi_0_9_4/hw_management_service.py
@@ -0,0 +1,104 @@
+# Copyright 2020-present Open Networking Foundation
+# Original copyright 2020-present ADTRAN, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+from robot.api.deco import keyword
+from ...service import is_connected
+
+from grpc_robot.services.service import Service
+from dmi import hw_management_service_pb2_grpc, hw_management_service_pb2, hw_pb2
+
+
+class NativeHWManagementService(Service):
+
+    prefix = 'hw_management_service_'
+
+    def __init__(self, ctx):
+        super().__init__(ctx=ctx, stub=hw_management_service_pb2_grpc.NativeHWManagementServiceStub)
+
+    # rpc StartManagingDevice(ModifiableComponent) returns(stream StartManagingDeviceResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_start_managing_device(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.StartManagingDevice, hw_pb2.ModifiableComponent, param_dict, **kwargs)
+
+    # rpc StopManagingDevice(StopManagingDeviceRequest) returns(StopManagingDeviceResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_stop_managing_device(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.StopManagingDevice, hw_management_service_pb2.StopManagingDeviceRequest, param_dict, **kwargs)
+
+    # rpc GetPhysicalInventory(PhysicalInventoryRequest) returns(stream PhysicalInventoryResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_get_physical_inventory(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetPhysicalInventory, hw_management_service_pb2.PhysicalInventoryRequest, param_dict, **kwargs)
+
+    # rpc GetHWComponentInfo(HWComponentInfoGetRequest) returns(stream HWComponentInfoGetResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_get_hw_component_info(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetHWComponentInfo, hw_management_service_pb2.HWComponentInfoGetRequest, param_dict, **kwargs)
+
+    # rpc SetHWComponentInfo(HWComponentInfoSetRequest) returns(HWComponentInfoSetResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_set_hw_component_info(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.SetHWComponentInfo, hw_management_service_pb2.HWComponentInfoSetRequest, param_dict, **kwargs)
+
+    # rpc GetManagedDevices(google.protobuf.Empty) returns(ManagedDevicesResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_get_managed_devices(self, **kwargs):
+        return self._grpc_helper(self.stub.GetManagedDevices, **kwargs)
+
+    # rpc SetLoggingEndpoint(SetLoggingEndpointRequest) returns(SetRemoteEndpointResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_set_logging_endpoint(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.SetLoggingEndpoint, hw_management_service_pb2.SetLoggingEndpointRequest, param_dict, **kwargs)
+
+    # rpc GetLoggingEndpoint(HardwareID) returns(GetLoggingEndpointResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_get_logging_endpoint(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetLoggingEndpoint, hw_pb2.HardwareID, param_dict)
+
+    # rpc SetMsgBusEndpoint(SetMsgBusEndpointRequest) returns(SetRemoteEndpointResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_set_msg_bus_endpoint(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.SetMsgBusEndpoint, hw_management_service_pb2.SetMsgBusEndpointRequest, param_dict, **kwargs)
+
+    # rpc GetMsgBusEndpoint(google.protobuf.Empty) returns(GetMsgBusEndpointResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_get_msg_bus_endpoint(self, **kwargs):
+        return self._grpc_helper(self.stub.GetMsgBusEndpoint, **kwargs)
+
+    # rpc GetLoggableEntities(GetLoggableEntitiesRequest) returns(GetLogLevelResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_get_loggable_entities(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetLoggableEntities, hw_management_service_pb2.GetLoggableEntitiesRequest, param_dict, **kwargs)
+
+    # rpc SetLogLevel(SetLogLevelRequest) returns(SetLogLevelResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_set_log_level(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.SetLogLevel, hw_management_service_pb2.SetLogLevelRequest, param_dict, **kwargs)
+
+    # rpc GetLogLevel(GetLogLevelRequest) returns(GetLogLevelResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_get_log_level(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetLogLevel, hw_management_service_pb2.GetLogLevelRequest, param_dict, **kwargs)
diff --git a/grpc_robot/services/dmi/dmi_0_9_5/__init__.py b/grpc_robot/services/dmi/dmi_0_9_5/__init__.py
new file mode 100644
index 0000000..6209d14
--- /dev/null
+++ b/grpc_robot/services/dmi/dmi_0_9_5/__init__.py
@@ -0,0 +1,17 @@
+# Copyright 2020-present Open Networking Foundation
+# Original copyright 2020-present ADTRAN, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+from ..dmi_0_9_1.hw_events_mgmt_service import *
+from ..dmi_0_9_4.hw_management_service import *
+from ..dmi_0_9_1.hw_metrics_mgmt_service import *
+from .sw_management_service import *
diff --git a/grpc_robot/services/dmi/dmi_0_9_5/dmi.json b/grpc_robot/services/dmi/dmi_0_9_5/dmi.json
new file mode 100644
index 0000000..adb08de
--- /dev/null
+++ b/grpc_robot/services/dmi/dmi_0_9_5/dmi.json
@@ -0,0 +1 @@
+{"modules": [{"name": "commons", "imports": []}, {"name": "hw", "imports": ["timestamp"]}, {"name": "hw_metrics_mgmt_service", "imports": ["commons", "hw"]}, {"name": "hw_events_mgmt_service", "imports": ["commons", "hw", "timestamp"]}, {"name": "sw_image", "imports": ["commons"]}, {"name": "hw_management_service", "imports": ["commons", "hw", "empty"]}, {"name": "sw_management_service", "imports": ["commons", "hw", "sw_image"]}], "data_types": [{"name": "Status", "type": "enum", "module": "commons", "values": {"0": "UNDEFINED_STATUS", "1": "OK_STATUS", "2": "ERROR_STATUS"}}, {"name": "Reason", "type": "enum", "module": "commons", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "WRONG_METRIC", "4": "WRONG_EVENT", "5": "LOGGING_ENDPOINT_ERROR", "6": "LOGGING_ENDPOINT_PROTOCOL_ERROR", "7": "KAFKA_ENDPOINT_ERROR", "8": "UNKNOWN_LOG_ENTITY", "9": "ERROR_FETCHING_CONFIG", "10": "INVALID_CONFIG"}}, {"name": "LogLevel", "type": "enum", "module": "commons", "values": {"0": "TRACE", "1": "DEBUG", "2": "INFO", "3": "WARN", "4": "ERROR"}}, {"name": "Uuid", "type": "message", "module": "hw", "fields": [{"name": "uuid", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "HardwareID", "type": "message", "module": "hw", "fields": [{"name": "uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "Uri", "type": "message", "module": "hw", "fields": [{"name": "uri", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ComponentType", "type": "enum", "module": "hw", "values": {"0": "COMPONENT_TYPE_UNDEFINED", "1": "COMPONENT_TYPE_UNKNOWN", "2": "COMPONENT_TYPE_CHASSIS", "3": "COMPONENT_TYPE_BACKPLANE", "4": "COMPONENT_TYPE_CONTAINER", "5": "COMPONENT_TYPE_POWER_SUPPLY", "6": "COMPONENT_TYPE_FAN", "7": "COMPONENT_TYPE_SENSOR", "8": "COMPONENT_TYPE_MODULE", "9": "COMPONENT_TYPE_PORT", "10": "COMPONENT_TYPE_CPU", "11": "COMPONENT_TYPE_BATTERY", "12": "COMPONENT_TYPE_STORAGE", "13": "COMPONENT_TYPE_MEMORY", "14": "COMPONENT_TYPE_TRANSCEIVER", "15": "COMPONENT_TYPE_GPON_TRANSCEIVER", "16": "COMPONENT_TYPE_XGS_PON_TRANSCEIVER"}}, {"name": "ComponentAdminState", "type": "enum", "module": "hw", "values": {"0": "COMP_ADMIN_STATE_UNDEFINED", "1": "COMP_ADMIN_STATE_UNKNOWN", "2": "COMP_ADMIN_STATE_LOCKED", "3": "COMP_ADMIN_STATE_SHUTTING_DOWN", "4": "COMP_ADMIN_STATE_UNLOCKED"}}, {"name": "ComponentOperState", "type": "enum", "module": "hw", "values": {"0": "COMP_OPER_STATE_UNDEFINED", "1": "COMP_OPER_STATE_UNKNOWN", "2": "COMP_OPER_STATE_DISABLED", "3": "COMP_OPER_STATE_ENABLED", "4": "COMP_OPER_STATE_TESTING"}}, {"name": "ComponentUsageState", "type": "enum", "module": "hw", "values": {"0": "COMP_USAGE_STATE_UNDEFINED", "1": "COMP_USAGE_STATE_UNKNOWN", "2": "COMP_USAGE_STATE_IDLE", "3": "COMP_USAGE_STATE_ACTIVE", "4": "COMP_USAGE_STATE_BUSY"}}, {"name": "ComponentAlarmState", "type": "enum", "module": "hw", "values": {"0": "COMP_ALARM_STATE_UNDEFINED", "1": "COMP_ALARM_STATE_UNKNOWN", "2": "COMP_ALARM_STATE_UNDER_REPAIR", "3": "COMP_ALARM_STATE_CRITICAL", "4": "COMP_ALARM_STATE_MAJOR", "5": "COMP_ALARM_STATE_MINOR", "6": "COMP_ALARM_STATE_WARNING", "7": "COMP_ALARM_STATE_INTERMEDIATE"}}, {"name": "ComponentStandbyState", "type": "enum", "module": "hw", "values": {"0": "COMP_STANDBY_STATE_UNDEFINED", "1": "COMP_STANDBY_STATE_UNKNOWN", "2": "COMP_STANDBY_STATE_HOT", "3": "COMP_STANDBY_STATE_COLD", "4": "COMP_STANDBY_STATE_PROVIDING_SERVICE"}}, {"name": "ComponentState", "type": "message", "module": "hw", "fields": [{"name": "state_last_changed", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "admin_state", "is_choice": false, "repeated": false, "type": "ComponentAdminState", "lookup": true}, {"name": "oper_state", "is_choice": false, "repeated": false, "type": "ComponentOperState", "lookup": true}, {"name": "usage_state", "is_choice": false, "repeated": false, "type": "ComponentUsageState", "lookup": true}, {"name": "alarm_state", "is_choice": false, "repeated": false, "type": "ComponentAlarmState", "lookup": true}, {"name": "standby_state", "is_choice": false, "repeated": false, "type": "ComponentStandbyState", "lookup": true}]}, {"name": "SensorValueType", "type": "enum", "module": "hw", "values": {"0": "SENSOR_VALUE_TYPE_UNDEFINED", "1": "SENSOR_VALUE_TYPE_OTHER", "2": "SENSOR_VALUE_TYPE_UNKNOWN", "3": "SENSOR_VALUE_TYPE_VOLTS_AC", "4": "SENSOR_VALUE_TYPE_VOLTS_DC", "5": "SENSOR_VALUE_TYPE_AMPERES", "6": "SENSOR_VALUE_TYPE_WATTS", "7": "SENSOR_VALUE_TYPE_HERTZ", "8": "SENSOR_VALUE_TYPE_CELSIUS", "9": "SENSOR_VALUE_TYPE_PERCENT_RH", "10": "SENSOR_VALUE_TYPE_RPM", "11": "SENSOR_VALUE_TYPE_CMM", "12": "SENSOR_VALUE_TYPE_TRUTH_VALUE"}}, {"name": "SensorValueScale", "type": "enum", "module": "hw", "values": {"0": "SENSOR_VALUE_SCALE_UNDEFINED", "1": "SENSOR_VALUE_SCALE_YOCTO", "2": "SENSOR_VALUE_SCALE_ZEPTO", "3": "SENSOR_VALUE_SCALE_ATTO", "4": "SENSOR_VALUE_SCALE_FEMTO", "5": "SENSOR_VALUE_SCALE_PICO", "6": "SENSOR_VALUE_SCALE_NANO", "7": "SENSOR_VALUE_SCALE_MICRO", "8": "SENSOR_VALUE_SCALE_MILLI", "9": "SENSOR_VALUE_SCALE_UNITS", "10": "SENSOR_VALUE_SCALE_KILO", "11": "SENSOR_VALUE_SCALE_MEGA", "12": "SENSOR_VALUE_SCALE_GIGA", "13": "SENSOR_VALUE_SCALE_TERA", "14": "SENSOR_VALUE_SCALE_PETA", "15": "SENSOR_VALUE_SCALE_EXA", "16": "SENSOR_VALUE_SCALE_ZETTA", "17": "SENSOR_VALUE_SCALE_YOTTA"}}, {"name": "SensorStatus", "type": "enum", "module": "hw", "values": {"0": "SENSOR_STATUS_UNDEFINED", "1": "SENSOR_STATUS_OK", "2": "SENSOR_STATUS_UNAVAILABLE", "3": "SENSOR_STATUS_NONOPERATIONAL"}}, {"name": "ComponentSensorData", "type": "message", "module": "hw", "fields": [{"name": "value", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "type", "is_choice": false, "repeated": false, "type": "SensorValueType", "lookup": true}, {"name": "scale", "is_choice": false, "repeated": false, "type": "SensorValueScale", "lookup": true}, {"name": "precision", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "status", "is_choice": false, "repeated": false, "type": "SensorStatus", "lookup": true}, {"name": "units_display", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "timestamp", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "value_update_rate", "is_choice": false, "repeated": false, "type": "uint32", "lookup": false}, {"name": "data_type", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Component", "type": "message", "module": "hw", "fields": [{"name": "name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "class", "is_choice": false, "repeated": false, "type": "ComponentType", "lookup": true}, {"name": "description", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "parent", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "parent_rel_pos", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "children", "is_choice": false, "repeated": true, "type": "Component", "lookup": true}, {"name": "hardware_rev", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "firmware_rev", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "software_rev", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "serial_num", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "mfg_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "model_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "alias", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "asset_id", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "is_fru", "is_choice": false, "repeated": false, "type": "bool", "lookup": false}, {"name": "mfg_date", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "uri", "is_choice": false, "repeated": false, "type": "Uri", "lookup": true}, {"name": "uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "state", "is_choice": false, "repeated": false, "type": "ComponentState", "lookup": true}, {"name": "sensor_data", "is_choice": false, "repeated": true, "type": "ComponentSensorData", "lookup": true}]}, {"name": "Hardware", "type": "message", "module": "hw", "fields": [{"name": "last_change", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "root", "is_choice": false, "repeated": false, "type": "Component", "lookup": true}]}, {"name": "ModifiableComponent", "type": "message", "module": "hw", "fields": [{"name": "name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "class", "is_choice": false, "repeated": false, "type": "ComponentType", "lookup": true}, {"name": "parent", "is_choice": false, "repeated": false, "type": "Component", "lookup": true}, {"name": "parent_rel_pos", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "alias", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "asset_id", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "uri", "is_choice": false, "repeated": false, "type": "Uri", "lookup": true}, {"name": "admin_state", "is_choice": false, "repeated": false, "type": "ComponentAdminState", "lookup": true}]}, {"name": "MetricNames", "type": "enum", "module": "hw_metrics_mgmt_service", "values": {"0": "METRIC_NAME_UNDEFINED", "1": "METRIC_FAN_SPEED", "100": "METRIC_CPU_TEMP", "101": "METRIC_CPU_USAGE_PERCENTAGE", "200": "METRIC_TRANSCEIVER_TEMP", "201": "METRIC_TRANSCEIVER_VOLTAGE", "202": "METRIC_TRANSCEIVER_BIAS", "203": "METRIC_TRANSCEIVER_RX_POWER", "204": "METRIC_TRANSCEIVER_TX_POWER", "205": "METRIC_TRANSCEIVER_WAVELENGTH", "300": "METRIC_DISK_TEMP", "301": "METRIC_DISK_CAPACITY", "302": "METRIC_DISK_USAGE", "303": "METRIC_DISK_USAGE_PERCENTAGE", "304": "METRIC_DISK_READ_WRITE_PERCENTAGE", "305": "METRIC_DISK_FAULTY_CELLS_PERCENTAGE", "400": "METRIC_RAM_TEMP", "401": "METRIC_RAM_CAPACITY", "402": "METRIC_RAM_USAGE", "403": "METRIC_RAM_USAGE_PERCENTAGE", "500": "METRIC_POWER_MAX", "501": "METRIC_POWER_USAGE", "502": "METRIC_POWER_USAGE_PERCENTAGE", "600": "METRIC_INNER_SURROUNDING_TEMP"}}, {"name": "MetricConfig", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "metric_id", "is_choice": false, "repeated": false, "type": "MetricNames", "lookup": true}, {"name": "is_configured", "is_choice": false, "repeated": false, "type": "bool", "lookup": false}, {"name": "poll_interval", "is_choice": false, "repeated": false, "type": "uint32", "lookup": false}]}, {"name": "MetricsConfig", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "metrics", "is_choice": false, "repeated": true, "type": "MetricConfig", "lookup": true}]}, {"name": "ListMetricsResponse", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "metrics", "is_choice": false, "repeated": false, "type": "MetricsConfig", "lookup": true}]}, {"name": "MetricsConfigurationRequest", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "operation", "is_choice": true, "cases": [{"name": "changes", "type": "MetricsConfig", "lookup": true}, {"name": "reset_to_default", "type": "bool", "lookup": false}]}]}, {"name": "MetricsConfigurationResponse", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "MetricMetaData", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Metric", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "metric_id", "is_choice": false, "repeated": false, "type": "MetricNames", "lookup": true}, {"name": "metric_metadata", "is_choice": false, "repeated": false, "type": "MetricMetaData", "lookup": true}, {"name": "value", "is_choice": false, "repeated": false, "type": "ComponentSensorData", "lookup": true}]}, {"name": "GetMetricRequest", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "meta_data", "is_choice": false, "repeated": false, "type": "MetricMetaData", "lookup": true}, {"name": "metric_id", "is_choice": false, "repeated": false, "type": "MetricNames", "lookup": true}]}, {"name": "GetMetricResponse", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "metric", "is_choice": false, "repeated": false, "type": "Metric", "lookup": true}]}, {"name": "EventIds", "type": "enum", "module": "hw_events_mgmt_service", "values": {"0": "EVENT_NAME_UNDEFINED", "100": "EVENT_TRANSCEIVER_PLUG_OUT", "101": "EVENT_TRANSCEIVER_PLUG_IN", "102": "EVENT_TRANSCEIVER_VOLTAGE_ABOVE_THRESHOLD", "103": "EVENT_TRANSCEIVER_VOLTAGE_BELOW_THRESHOLD", "104": "EVENT_TRANSCEIVER_TEMPERATURE_ABOVE_THRESHOLD", "105": "EVENT_TRANSCEIVER_TEMPERATURE_BELOW_THRESHOLD", "106": "EVENT_TRANSCEIVER_CURRENT_ABOVE_THRESHOLD", "107": "EVENT_TRANSCEIVER_CURRENT_BELOW_THRESHOLD", "108": "EVENT_TRANSCEIVER_RX_POWER_ABOVE_THRESHOLD", "109": "EVENT_TRANSCEIVER_RX_POWER_BELOW_THRESHOLD", "110": "EVENT_TRANSCEIVER_TX_POWER_ABOVE_THRESHOLD", "111": "EVENT_TRANSCEIVER_TX_POWER_BELOW_THRESHOLD", "112": "EVENT_TRANSCEIVER_FAILURE", "113": "EVENT_TRANSCEIVER_VOLTAGE_ABOVE_THRESHOLD_RECOVERED", "114": "EVENT_TRANSCEIVER_VOLTAGE_BELOW_THRESHOLD_RECOVERED", "115": "EVENT_TRANSCEIVER_TEMPERATURE_ABOVE_THRESHOLD_RECOVERED", "116": "EVENT_TRANSCEIVER_TEMPERATURE_BELOW_THRESHOLD_RECOVERED", "117": "EVENT_TRANSCEIVER_CURRENT_ABOVE_THRESHOLD_RECOVERED", "118": "EVENT_TRANSCEIVER_CURRENT_BELOW_THRESHOLD_RECOVERED", "119": "EVENT_TRANSCEIVER_RX_POWER_ABOVE_THRESHOLD_RECOVERED", "120": "EVENT_TRANSCEIVER_RX_POWER_BELOW_THRESHOLD_RECOVERED", "121": "EVENT_TRANSCEIVER_TX_POWER_ABOVE_THRESHOLD_RECOVERED", "122": "EVENT_TRANSCEIVER_TX_POWER_BELOW_THRESHOLD_RECOVERED", "123": "EVENT_TRANSCEIVER_FAILURE_RECOVERED", "200": "EVENT_PSU_PLUG_OUT", "201": "EVENT_PSU_PLUG_IN", "202": "EVENT_PSU_FAILURE", "203": "EVENT_PSU_FAILURE_RECOVERED", "300": "EVENT_FAN_FAILURE", "301": "EVENT_FAN_PLUG_OUT", "302": "EVENT_FAN_PLUG_IN", "303": "EVENT_FAN_FAILURE_RECOVERED", "400": "EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL", "401": "EVENT_CPU_TEMPERATURE_ABOVE_FATAL", "402": "EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL_RECOVERED", "403": "EVENT_CPU_TEMPERATURE_ABOVE_FATAL_RECOVERED", "500": "EVENT_HW_DEVICE_RESET", "501": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL", "502": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL", "503": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL_RECOVERED", "504": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL_RECOVERED"}}, {"name": "ValueType", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "val", "is_choice": true, "cases": [{"name": "int_val", "type": "int64", "lookup": false}, {"name": "uint_val", "type": "uint64", "lookup": false}, {"name": "float_val", "type": "float", "lookup": false}]}]}, {"name": "WaterMarks", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "high", "is_choice": false, "repeated": false, "type": "ValueType", "lookup": true}, {"name": "low", "is_choice": false, "repeated": false, "type": "ValueType", "lookup": true}]}, {"name": "Thresholds", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "threshold", "is_choice": true, "cases": [{"name": "upper", "type": "WaterMarks", "lookup": true}, {"name": "lower", "type": "WaterMarks", "lookup": true}]}]}, {"name": "ThresholdInformation", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "observed_value", "is_choice": false, "repeated": false, "type": "ValueType", "lookup": true}, {"name": "thresholds", "is_choice": false, "repeated": false, "type": "Thresholds", "lookup": true}]}, {"name": "EventCfg", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "event_id", "is_choice": false, "repeated": false, "type": "EventIds", "lookup": true}, {"name": "is_configured", "is_choice": false, "repeated": false, "type": "bool", "lookup": false}, {"name": "thresholds", "is_choice": false, "repeated": false, "type": "Thresholds", "lookup": true}]}, {"name": "EventsCfg", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "items", "is_choice": false, "repeated": true, "type": "EventCfg", "lookup": true}]}, {"name": "ListEventsResponse", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "events", "is_choice": false, "repeated": false, "type": "EventsCfg", "lookup": true}]}, {"name": "EventsConfigurationRequest", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "operation", "is_choice": true, "cases": [{"name": "changes", "type": "EventsCfg", "lookup": true}, {"name": "reset_to_default", "type": "bool", "lookup": false}]}]}, {"name": "EventsConfigurationResponse", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "EventMetaData", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Event", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "event_metadata", "is_choice": false, "repeated": false, "type": "EventMetaData", "lookup": true}, {"name": "event_id", "is_choice": false, "repeated": false, "type": "EventIds", "lookup": true}, {"name": "raised_ts", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "threshold_info", "is_choice": false, "repeated": false, "type": "ThresholdInformation", "lookup": true}, {"name": "add_info", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ImageVersion", "type": "message", "module": "sw_image", "fields": [{"name": "image_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "version", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ImageInformation", "type": "message", "module": "sw_image", "fields": [{"name": "image", "is_choice": false, "repeated": false, "type": "ImageVersion", "lookup": true}, {"name": "image_install_script", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "image_url", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "sha256sum", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ImageState", "type": "enum", "module": "sw_image", "values": {"0": "UNDEFINED_STATE", "1": "COPYING_IMAGE", "2": "INSTALLING_IMAGE", "3": "COMMITTING_IMAGE", "4": "REBOOTING_DEVICE", "5": "UPGRADE_COMPLETE", "6": "UPGRADE_FAILED", "7": "ACTIVATION_COMPLETE", "8": "ACTIVATION_FAILED"}}, {"name": "Reason", "type": "enum", "module": "sw_image", "values": {"0": "UNDEFINED_REASON", "1": "ERROR_IN_REQUEST", "2": "INTERNAL_ERROR", "3": "DEVICE_IN_WRONG_STATE", "4": "INVALID_IMAGE", "5": "WRONG_IMAGE_CHECKSUM"}}, {"name": "ImageStatus", "type": "message", "module": "sw_image", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "state", "is_choice": false, "repeated": false, "type": "ImageState", "lookup": true}, {"name": "description", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "PhysicalInventoryRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "PhysicalInventoryResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "inventory", "is_choice": false, "repeated": false, "type": "Hardware", "lookup": true}]}, {"name": "HWComponentInfoGetRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "HWComponentInfoGetResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "component", "is_choice": false, "repeated": false, "type": "Component", "lookup": true}]}, {"name": "HWComponentInfoSetRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "changes", "is_choice": false, "repeated": false, "type": "ModifiableComponent", "lookup": true}]}, {"name": "HWComponentInfoSetResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "StartManagingDeviceResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "StopManagingDeviceRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "StopManagingDeviceResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "ManagedDevicesResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "devices", "is_choice": false, "repeated": true, "type": "ModifiableComponent", "lookup": true}]}, {"name": "SetLoggingEndpointRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "logging_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "logging_protocol", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "SetRemoteEndpointResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "GetLoggingEndpointResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "logging_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "logging_protocol", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "SetMsgBusEndpointRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "msgbus_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "GetMsgBusEndpointResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "msgbus_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "EntitiesLogLevel", "type": "message", "module": "hw_management_service", "fields": [{"name": "logLevel", "is_choice": false, "repeated": false, "type": "LogLevel", "lookup": true}, {"name": "entities", "is_choice": false, "repeated": true, "type": "string", "lookup": false}]}, {"name": "SetLogLevelRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "loglevels", "is_choice": false, "repeated": true, "type": "EntitiesLogLevel", "lookup": true}]}, {"name": "SetLogLevelResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "GetLogLevelRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "entities", "is_choice": false, "repeated": true, "type": "string", "lookup": false}]}, {"name": "GetLogLevelResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "logLevels", "is_choice": false, "repeated": true, "type": "EntitiesLogLevel", "lookup": true}, {"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "GetLoggableEntitiesRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "SoftwareVersionInformation", "type": "message", "module": "sw_management_service", "fields": [{"name": "active_versions", "is_choice": false, "repeated": true, "type": "ImageVersion", "lookup": true}, {"name": "standby_versions", "is_choice": false, "repeated": true, "type": "ImageVersion", "lookup": true}]}, {"name": "GetSoftwareVersionInformationResponse", "type": "message", "module": "sw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "info", "is_choice": false, "repeated": false, "type": "SoftwareVersionInformation", "lookup": true}]}, {"name": "DownloadImageRequest", "type": "message", "module": "sw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "image_info", "is_choice": false, "repeated": false, "type": "ImageInformation", "lookup": true}]}, {"name": "ConfigRequest", "type": "message", "module": "sw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "config_url", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ConfigResponse", "type": "message", "module": "sw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}], "services": [{"name": "NativeMetricsManagementService", "module": "hw_metrics_mgmt_service", "rpcs": [{"name": "ListMetrics", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "ListMetricsResponse", "lookup": true}}, {"name": "UpdateMetricsConfiguration", "request": {"is_stream": false, "type": "MetricsConfigurationRequest", "lookup": true}, "response": {"is_stream": false, "type": "MetricsConfigurationResponse", "lookup": true}}, {"name": "GetMetric", "request": {"is_stream": false, "type": "GetMetricRequest", "lookup": true}, "response": {"is_stream": false, "type": "GetMetricResponse", "lookup": true}}]}, {"name": "NativeEventsManagementService", "module": "hw_events_mgmt_service", "rpcs": [{"name": "ListEvents", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "ListEventsResponse", "lookup": true}}, {"name": "UpdateEventsConfiguration", "request": {"is_stream": false, "type": "EventsConfigurationRequest", "lookup": true}, "response": {"is_stream": false, "type": "EventsConfigurationResponse", "lookup": true}}]}, {"name": "NativeHWManagementService", "module": "hw_management_service", "rpcs": [{"name": "StartManagingDevice", "request": {"is_stream": false, "type": "ModifiableComponent", "lookup": true}, "response": {"is_stream": true, "type": "StartManagingDeviceResponse", "lookup": true}}, {"name": "StopManagingDevice", "request": {"is_stream": false, "type": "StopManagingDeviceRequest", "lookup": true}, "response": {"is_stream": false, "type": "StopManagingDeviceResponse", "lookup": true}}, {"name": "GetManagedDevices", "request": {"is_stream": false, "type": "google.protobuf.Empty", "lookup": false}, "response": {"is_stream": false, "type": "ManagedDevicesResponse", "lookup": true}}, {"name": "GetPhysicalInventory", "request": {"is_stream": false, "type": "PhysicalInventoryRequest", "lookup": true}, "response": {"is_stream": true, "type": "PhysicalInventoryResponse", "lookup": true}}, {"name": "GetHWComponentInfo", "request": {"is_stream": false, "type": "HWComponentInfoGetRequest", "lookup": true}, "response": {"is_stream": true, "type": "HWComponentInfoGetResponse", "lookup": true}}, {"name": "SetHWComponentInfo", "request": {"is_stream": false, "type": "HWComponentInfoSetRequest", "lookup": true}, "response": {"is_stream": false, "type": "HWComponentInfoSetResponse", "lookup": true}}, {"name": "SetLoggingEndpoint", "request": {"is_stream": false, "type": "SetLoggingEndpointRequest", "lookup": true}, "response": {"is_stream": false, "type": "SetRemoteEndpointResponse", "lookup": true}}, {"name": "GetLoggingEndpoint", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "GetLoggingEndpointResponse", "lookup": true}}, {"name": "SetMsgBusEndpoint", "request": {"is_stream": false, "type": "SetMsgBusEndpointRequest", "lookup": true}, "response": {"is_stream": false, "type": "SetRemoteEndpointResponse", "lookup": true}}, {"name": "GetMsgBusEndpoint", "request": {"is_stream": false, "type": "google.protobuf.Empty", "lookup": false}, "response": {"is_stream": false, "type": "GetMsgBusEndpointResponse", "lookup": true}}, {"name": "GetLoggableEntities", "request": {"is_stream": false, "type": "GetLoggableEntitiesRequest", "lookup": true}, "response": {"is_stream": false, "type": "GetLogLevelResponse", "lookup": true}}, {"name": "SetLogLevel", "request": {"is_stream": false, "type": "SetLogLevelRequest", "lookup": true}, "response": {"is_stream": false, "type": "SetLogLevelResponse", "lookup": true}}, {"name": "GetLogLevel", "request": {"is_stream": false, "type": "GetLogLevelRequest", "lookup": true}, "response": {"is_stream": false, "type": "GetLogLevelResponse", "lookup": true}}]}, {"name": "NativeSoftwareManagementService", "module": "sw_management_service", "rpcs": [{"name": "GetSoftwareVersion", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "GetSoftwareVersionInformationResponse", "lookup": true}}, {"name": "DownloadImage", "request": {"is_stream": false, "type": "DownloadImageRequest", "lookup": true}, "response": {"is_stream": true, "type": "ImageStatus", "lookup": true}}, {"name": "ActivateImage", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": true, "type": "ImageStatus", "lookup": true}}, {"name": "RevertToStandbyImage", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": true, "type": "ImageStatus", "lookup": true}}, {"name": "UpdateStartupConfiguration", "request": {"is_stream": false, "type": "ConfigRequest", "lookup": true}, "response": {"is_stream": true, "type": "ConfigResponse", "lookup": true}}]}]}
\ No newline at end of file
diff --git a/grpc_robot/services/dmi/dmi_0_9_5/sw_management_service.py b/grpc_robot/services/dmi/dmi_0_9_5/sw_management_service.py
new file mode 100644
index 0000000..d9db6d9
--- /dev/null
+++ b/grpc_robot/services/dmi/dmi_0_9_5/sw_management_service.py
@@ -0,0 +1,56 @@
+# Copyright 2020-present Open Networking Foundation
+# Original copyright 2020-present ADTRAN, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+from robot.api.deco import keyword
+from grpc_robot.services.service import is_connected
+
+from grpc_robot.services.service import Service
+from dmi import sw_management_service_pb2_grpc, sw_management_service_pb2, hw_pb2
+
+
+class NativeSoftwareManagementService(Service):
+
+    prefix = 'sw_management_service_'
+
+    def __init__(self, ctx):
+        super().__init__(ctx=ctx, stub=sw_management_service_pb2_grpc.NativeSoftwareManagementServiceStub)
+
+    # rpc GetSoftwareVersion(HardwareID) returns(GetSoftwareVersionInformationResponse);
+    @keyword
+    @is_connected
+    def sw_management_service_get_software_version(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetSoftwareVersion, hw_pb2.HardwareID, param_dict, **kwargs)
+
+    # rpc DownloadImage(DownloadImageRequest) returns(stream ImageStatus);
+    @keyword
+    @is_connected
+    def sw_management_service_download_image(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.DownloadImage, sw_management_service_pb2.DownloadImageRequest, param_dict, **kwargs)
+
+    # rpc ActivateImage(HardwareID) returns(stream ImageStatus);
+    @keyword
+    @is_connected
+    def sw_management_service_activate_image(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.ActivateImage, hw_pb2.HardwareID, param_dict, **kwargs)
+
+    # rpc RevertToStandbyImage(HardwareID) returns(stream ImageStatus);
+    @keyword
+    @is_connected
+    def sw_management_service_revert_to_standby_image(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.RevertToStandbyImage, hw_pb2.HardwareID, param_dict, **kwargs)
+
+    # rpc UpdateStartupConfiguration(ConfigRequest) returns(stream ConfigResponse);
+    @keyword
+    @is_connected
+    def sw_management_service_update_startup_configuration(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.UpdateStartupConfiguration, sw_management_service_pb2.ConfigRequest, param_dict, **kwargs)
diff --git a/grpc_robot/services/dmi/dmi_0_9_6/__init__.py b/grpc_robot/services/dmi/dmi_0_9_6/__init__.py
new file mode 100644
index 0000000..f700805
--- /dev/null
+++ b/grpc_robot/services/dmi/dmi_0_9_6/__init__.py
@@ -0,0 +1,14 @@
+# Copyright 2020-present Open Networking Foundation
+# Original copyright 2020-present ADTRAN, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+from ..dmi_0_9_5 import *
diff --git a/grpc_robot/services/dmi/dmi_0_9_6/dmi.json b/grpc_robot/services/dmi/dmi_0_9_6/dmi.json
new file mode 100644
index 0000000..3205f2c
--- /dev/null
+++ b/grpc_robot/services/dmi/dmi_0_9_6/dmi.json
@@ -0,0 +1 @@
+{"modules": [{"name": "commons", "imports": []}, {"name": "hw", "imports": ["timestamp"]}, {"name": "hw_metrics_mgmt_service", "imports": ["commons", "hw"]}, {"name": "hw_events_mgmt_service", "imports": ["commons", "hw", "timestamp"]}, {"name": "sw_image", "imports": ["commons"]}, {"name": "hw_management_service", "imports": ["commons", "hw", "empty"]}, {"name": "sw_management_service", "imports": ["commons", "hw", "sw_image"]}], "data_types": [{"name": "Status", "type": "enum", "module": "commons", "values": {"0": "UNDEFINED_STATUS", "1": "OK_STATUS", "2": "ERROR_STATUS"}}, {"name": "Reason", "type": "enum", "module": "commons", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "WRONG_METRIC", "4": "WRONG_EVENT", "5": "LOGGING_ENDPOINT_ERROR", "6": "LOGGING_ENDPOINT_PROTOCOL_ERROR", "7": "KAFKA_ENDPOINT_ERROR", "8": "UNKNOWN_LOG_ENTITY", "9": "ERROR_FETCHING_CONFIG", "10": "INVALID_CONFIG"}}, {"name": "LogLevel", "type": "enum", "module": "commons", "values": {"0": "TRACE", "1": "DEBUG", "2": "INFO", "3": "WARN", "4": "ERROR"}}, {"name": "Uuid", "type": "message", "module": "hw", "fields": [{"name": "uuid", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "HardwareID", "type": "message", "module": "hw", "fields": [{"name": "uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "Uri", "type": "message", "module": "hw", "fields": [{"name": "uri", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ComponentType", "type": "enum", "module": "hw", "values": {"0": "COMPONENT_TYPE_UNDEFINED", "1": "COMPONENT_TYPE_UNKNOWN", "2": "COMPONENT_TYPE_CHASSIS", "3": "COMPONENT_TYPE_BACKPLANE", "4": "COMPONENT_TYPE_CONTAINER", "5": "COMPONENT_TYPE_POWER_SUPPLY", "6": "COMPONENT_TYPE_FAN", "7": "COMPONENT_TYPE_SENSOR", "8": "COMPONENT_TYPE_MODULE", "9": "COMPONENT_TYPE_PORT", "10": "COMPONENT_TYPE_CPU", "11": "COMPONENT_TYPE_BATTERY", "12": "COMPONENT_TYPE_STORAGE", "13": "COMPONENT_TYPE_MEMORY", "14": "COMPONENT_TYPE_TRANSCEIVER", "15": "COMPONENT_TYPE_GPON_TRANSCEIVER", "16": "COMPONENT_TYPE_XGS_PON_TRANSCEIVER"}}, {"name": "ComponentAdminState", "type": "enum", "module": "hw", "values": {"0": "COMP_ADMIN_STATE_UNDEFINED", "1": "COMP_ADMIN_STATE_UNKNOWN", "2": "COMP_ADMIN_STATE_LOCKED", "3": "COMP_ADMIN_STATE_SHUTTING_DOWN", "4": "COMP_ADMIN_STATE_UNLOCKED"}}, {"name": "ComponentOperState", "type": "enum", "module": "hw", "values": {"0": "COMP_OPER_STATE_UNDEFINED", "1": "COMP_OPER_STATE_UNKNOWN", "2": "COMP_OPER_STATE_DISABLED", "3": "COMP_OPER_STATE_ENABLED", "4": "COMP_OPER_STATE_TESTING"}}, {"name": "ComponentUsageState", "type": "enum", "module": "hw", "values": {"0": "COMP_USAGE_STATE_UNDEFINED", "1": "COMP_USAGE_STATE_UNKNOWN", "2": "COMP_USAGE_STATE_IDLE", "3": "COMP_USAGE_STATE_ACTIVE", "4": "COMP_USAGE_STATE_BUSY"}}, {"name": "ComponentAlarmState", "type": "enum", "module": "hw", "values": {"0": "COMP_ALARM_STATE_UNDEFINED", "1": "COMP_ALARM_STATE_UNKNOWN", "2": "COMP_ALARM_STATE_UNDER_REPAIR", "3": "COMP_ALARM_STATE_CRITICAL", "4": "COMP_ALARM_STATE_MAJOR", "5": "COMP_ALARM_STATE_MINOR", "6": "COMP_ALARM_STATE_WARNING", "7": "COMP_ALARM_STATE_INDETERMINATE"}}, {"name": "ComponentStandbyState", "type": "enum", "module": "hw", "values": {"0": "COMP_STANDBY_STATE_UNDEFINED", "1": "COMP_STANDBY_STATE_UNKNOWN", "2": "COMP_STANDBY_STATE_HOT", "3": "COMP_STANDBY_STATE_COLD", "4": "COMP_STANDBY_STATE_PROVIDING_SERVICE"}}, {"name": "ComponentState", "type": "message", "module": "hw", "fields": [{"name": "state_last_changed", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "admin_state", "is_choice": false, "repeated": false, "type": "ComponentAdminState", "lookup": true}, {"name": "oper_state", "is_choice": false, "repeated": false, "type": "ComponentOperState", "lookup": true}, {"name": "usage_state", "is_choice": false, "repeated": false, "type": "ComponentUsageState", "lookup": true}, {"name": "alarm_state", "is_choice": false, "repeated": false, "type": "ComponentAlarmState", "lookup": true}, {"name": "standby_state", "is_choice": false, "repeated": false, "type": "ComponentStandbyState", "lookup": true}]}, {"name": "SensorValueType", "type": "enum", "module": "hw", "values": {"0": "SENSOR_VALUE_TYPE_UNDEFINED", "1": "SENSOR_VALUE_TYPE_OTHER", "2": "SENSOR_VALUE_TYPE_UNKNOWN", "3": "SENSOR_VALUE_TYPE_VOLTS_AC", "4": "SENSOR_VALUE_TYPE_VOLTS_DC", "5": "SENSOR_VALUE_TYPE_AMPERES", "6": "SENSOR_VALUE_TYPE_WATTS", "7": "SENSOR_VALUE_TYPE_HERTZ", "8": "SENSOR_VALUE_TYPE_CELSIUS", "9": "SENSOR_VALUE_TYPE_PERCENT_RH", "10": "SENSOR_VALUE_TYPE_RPM", "11": "SENSOR_VALUE_TYPE_CMM", "12": "SENSOR_VALUE_TYPE_TRUTH_VALUE"}}, {"name": "SensorValueScale", "type": "enum", "module": "hw", "values": {"0": "SENSOR_VALUE_SCALE_UNDEFINED", "1": "SENSOR_VALUE_SCALE_YOCTO", "2": "SENSOR_VALUE_SCALE_ZEPTO", "3": "SENSOR_VALUE_SCALE_ATTO", "4": "SENSOR_VALUE_SCALE_FEMTO", "5": "SENSOR_VALUE_SCALE_PICO", "6": "SENSOR_VALUE_SCALE_NANO", "7": "SENSOR_VALUE_SCALE_MICRO", "8": "SENSOR_VALUE_SCALE_MILLI", "9": "SENSOR_VALUE_SCALE_UNITS", "10": "SENSOR_VALUE_SCALE_KILO", "11": "SENSOR_VALUE_SCALE_MEGA", "12": "SENSOR_VALUE_SCALE_GIGA", "13": "SENSOR_VALUE_SCALE_TERA", "14": "SENSOR_VALUE_SCALE_PETA", "15": "SENSOR_VALUE_SCALE_EXA", "16": "SENSOR_VALUE_SCALE_ZETTA", "17": "SENSOR_VALUE_SCALE_YOTTA"}}, {"name": "SensorStatus", "type": "enum", "module": "hw", "values": {"0": "SENSOR_STATUS_UNDEFINED", "1": "SENSOR_STATUS_OK", "2": "SENSOR_STATUS_UNAVAILABLE", "3": "SENSOR_STATUS_NONOPERATIONAL"}}, {"name": "ComponentSensorData", "type": "message", "module": "hw", "fields": [{"name": "value", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "type", "is_choice": false, "repeated": false, "type": "SensorValueType", "lookup": true}, {"name": "scale", "is_choice": false, "repeated": false, "type": "SensorValueScale", "lookup": true}, {"name": "precision", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "status", "is_choice": false, "repeated": false, "type": "SensorStatus", "lookup": true}, {"name": "units_display", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "timestamp", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "value_update_rate", "is_choice": false, "repeated": false, "type": "uint32", "lookup": false}, {"name": "data_type", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Component", "type": "message", "module": "hw", "fields": [{"name": "name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "class", "is_choice": false, "repeated": false, "type": "ComponentType", "lookup": true}, {"name": "description", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "parent", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "parent_rel_pos", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "children", "is_choice": false, "repeated": true, "type": "Component", "lookup": true}, {"name": "hardware_rev", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "firmware_rev", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "software_rev", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "serial_num", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "mfg_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "model_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "alias", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "asset_id", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "is_fru", "is_choice": false, "repeated": false, "type": "bool", "lookup": false}, {"name": "mfg_date", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "uri", "is_choice": false, "repeated": false, "type": "Uri", "lookup": true}, {"name": "uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "state", "is_choice": false, "repeated": false, "type": "ComponentState", "lookup": true}, {"name": "sensor_data", "is_choice": false, "repeated": true, "type": "ComponentSensorData", "lookup": true}]}, {"name": "Hardware", "type": "message", "module": "hw", "fields": [{"name": "last_change", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "root", "is_choice": false, "repeated": false, "type": "Component", "lookup": true}]}, {"name": "ModifiableComponent", "type": "message", "module": "hw", "fields": [{"name": "name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "class", "is_choice": false, "repeated": false, "type": "ComponentType", "lookup": true}, {"name": "parent", "is_choice": false, "repeated": false, "type": "Component", "lookup": true}, {"name": "parent_rel_pos", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "alias", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "asset_id", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "uri", "is_choice": false, "repeated": false, "type": "Uri", "lookup": true}, {"name": "admin_state", "is_choice": false, "repeated": false, "type": "ComponentAdminState", "lookup": true}]}, {"name": "MetricNames", "type": "enum", "module": "hw_metrics_mgmt_service", "values": {"0": "METRIC_NAME_UNDEFINED", "1": "METRIC_FAN_SPEED", "100": "METRIC_CPU_TEMP", "101": "METRIC_CPU_USAGE_PERCENTAGE", "200": "METRIC_TRANSCEIVER_TEMP", "201": "METRIC_TRANSCEIVER_VOLTAGE", "202": "METRIC_TRANSCEIVER_BIAS", "203": "METRIC_TRANSCEIVER_RX_POWER", "204": "METRIC_TRANSCEIVER_TX_POWER", "205": "METRIC_TRANSCEIVER_WAVELENGTH", "300": "METRIC_DISK_TEMP", "301": "METRIC_DISK_CAPACITY", "302": "METRIC_DISK_USAGE", "303": "METRIC_DISK_USAGE_PERCENTAGE", "304": "METRIC_DISK_READ_WRITE_PERCENTAGE", "305": "METRIC_DISK_FAULTY_CELLS_PERCENTAGE", "400": "METRIC_RAM_TEMP", "401": "METRIC_RAM_CAPACITY", "402": "METRIC_RAM_USAGE", "403": "METRIC_RAM_USAGE_PERCENTAGE", "500": "METRIC_POWER_MAX", "501": "METRIC_POWER_USAGE", "502": "METRIC_POWER_USAGE_PERCENTAGE", "600": "METRIC_INNER_SURROUNDING_TEMP"}}, {"name": "MetricConfig", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "metric_id", "is_choice": false, "repeated": false, "type": "MetricNames", "lookup": true}, {"name": "is_configured", "is_choice": false, "repeated": false, "type": "bool", "lookup": false}, {"name": "poll_interval", "is_choice": false, "repeated": false, "type": "uint32", "lookup": false}]}, {"name": "MetricsConfig", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "metrics", "is_choice": false, "repeated": true, "type": "MetricConfig", "lookup": true}]}, {"name": "ListMetricsResponse", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "metrics", "is_choice": false, "repeated": false, "type": "MetricsConfig", "lookup": true}]}, {"name": "MetricsConfigurationRequest", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "operation", "is_choice": true, "cases": [{"name": "changes", "type": "MetricsConfig", "lookup": true}, {"name": "reset_to_default", "type": "bool", "lookup": false}]}]}, {"name": "MetricsConfigurationResponse", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "MetricMetaData", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Metric", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "metric_id", "is_choice": false, "repeated": false, "type": "MetricNames", "lookup": true}, {"name": "metric_metadata", "is_choice": false, "repeated": false, "type": "MetricMetaData", "lookup": true}, {"name": "value", "is_choice": false, "repeated": false, "type": "ComponentSensorData", "lookup": true}]}, {"name": "GetMetricRequest", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "meta_data", "is_choice": false, "repeated": false, "type": "MetricMetaData", "lookup": true}, {"name": "metric_id", "is_choice": false, "repeated": false, "type": "MetricNames", "lookup": true}]}, {"name": "GetMetricResponse", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "metric", "is_choice": false, "repeated": false, "type": "Metric", "lookup": true}]}, {"name": "EventIds", "type": "enum", "module": "hw_events_mgmt_service", "values": {"0": "EVENT_NAME_UNDEFINED", "100": "EVENT_TRANSCEIVER_PLUG_OUT", "101": "EVENT_TRANSCEIVER_PLUG_IN", "102": "EVENT_TRANSCEIVER_VOLTAGE_ABOVE_THRESHOLD", "103": "EVENT_TRANSCEIVER_VOLTAGE_BELOW_THRESHOLD", "104": "EVENT_TRANSCEIVER_TEMPERATURE_ABOVE_THRESHOLD", "105": "EVENT_TRANSCEIVER_TEMPERATURE_BELOW_THRESHOLD", "106": "EVENT_TRANSCEIVER_CURRENT_ABOVE_THRESHOLD", "107": "EVENT_TRANSCEIVER_CURRENT_BELOW_THRESHOLD", "108": "EVENT_TRANSCEIVER_RX_POWER_ABOVE_THRESHOLD", "109": "EVENT_TRANSCEIVER_RX_POWER_BELOW_THRESHOLD", "110": "EVENT_TRANSCEIVER_TX_POWER_ABOVE_THRESHOLD", "111": "EVENT_TRANSCEIVER_TX_POWER_BELOW_THRESHOLD", "112": "EVENT_TRANSCEIVER_FAILURE", "113": "EVENT_TRANSCEIVER_VOLTAGE_ABOVE_THRESHOLD_RECOVERED", "114": "EVENT_TRANSCEIVER_VOLTAGE_BELOW_THRESHOLD_RECOVERED", "115": "EVENT_TRANSCEIVER_TEMPERATURE_ABOVE_THRESHOLD_RECOVERED", "116": "EVENT_TRANSCEIVER_TEMPERATURE_BELOW_THRESHOLD_RECOVERED", "117": "EVENT_TRANSCEIVER_CURRENT_ABOVE_THRESHOLD_RECOVERED", "118": "EVENT_TRANSCEIVER_CURRENT_BELOW_THRESHOLD_RECOVERED", "119": "EVENT_TRANSCEIVER_RX_POWER_ABOVE_THRESHOLD_RECOVERED", "120": "EVENT_TRANSCEIVER_RX_POWER_BELOW_THRESHOLD_RECOVERED", "121": "EVENT_TRANSCEIVER_TX_POWER_ABOVE_THRESHOLD_RECOVERED", "122": "EVENT_TRANSCEIVER_TX_POWER_BELOW_THRESHOLD_RECOVERED", "123": "EVENT_TRANSCEIVER_FAILURE_RECOVERED", "200": "EVENT_PSU_PLUG_OUT", "201": "EVENT_PSU_PLUG_IN", "202": "EVENT_PSU_FAILURE", "203": "EVENT_PSU_FAILURE_RECOVERED", "300": "EVENT_FAN_FAILURE", "301": "EVENT_FAN_PLUG_OUT", "302": "EVENT_FAN_PLUG_IN", "303": "EVENT_FAN_FAILURE_RECOVERED", "400": "EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL", "401": "EVENT_CPU_TEMPERATURE_ABOVE_FATAL", "402": "EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL_RECOVERED", "403": "EVENT_CPU_TEMPERATURE_ABOVE_FATAL_RECOVERED", "500": "EVENT_HW_DEVICE_RESET", "501": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL", "502": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL", "503": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL_RECOVERED", "504": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL_RECOVERED"}}, {"name": "ValueType", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "val", "is_choice": true, "cases": [{"name": "int_val", "type": "int64", "lookup": false}, {"name": "uint_val", "type": "uint64", "lookup": false}, {"name": "float_val", "type": "float", "lookup": false}]}]}, {"name": "WaterMarks", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "high", "is_choice": false, "repeated": false, "type": "ValueType", "lookup": true}, {"name": "low", "is_choice": false, "repeated": false, "type": "ValueType", "lookup": true}]}, {"name": "Thresholds", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "threshold", "is_choice": true, "cases": [{"name": "upper", "type": "WaterMarks", "lookup": true}, {"name": "lower", "type": "WaterMarks", "lookup": true}]}]}, {"name": "ThresholdInformation", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "observed_value", "is_choice": false, "repeated": false, "type": "ValueType", "lookup": true}, {"name": "thresholds", "is_choice": false, "repeated": false, "type": "Thresholds", "lookup": true}]}, {"name": "EventCfg", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "event_id", "is_choice": false, "repeated": false, "type": "EventIds", "lookup": true}, {"name": "is_configured", "is_choice": false, "repeated": false, "type": "bool", "lookup": false}, {"name": "thresholds", "is_choice": false, "repeated": false, "type": "Thresholds", "lookup": true}]}, {"name": "EventsCfg", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "items", "is_choice": false, "repeated": true, "type": "EventCfg", "lookup": true}]}, {"name": "ListEventsResponse", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "events", "is_choice": false, "repeated": false, "type": "EventsCfg", "lookup": true}]}, {"name": "EventsConfigurationRequest", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "operation", "is_choice": true, "cases": [{"name": "changes", "type": "EventsCfg", "lookup": true}, {"name": "reset_to_default", "type": "bool", "lookup": false}]}]}, {"name": "EventsConfigurationResponse", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "EventMetaData", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Event", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "event_metadata", "is_choice": false, "repeated": false, "type": "EventMetaData", "lookup": true}, {"name": "event_id", "is_choice": false, "repeated": false, "type": "EventIds", "lookup": true}, {"name": "raised_ts", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "threshold_info", "is_choice": false, "repeated": false, "type": "ThresholdInformation", "lookup": true}, {"name": "add_info", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ImageVersion", "type": "message", "module": "sw_image", "fields": [{"name": "image_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "version", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ImageInformation", "type": "message", "module": "sw_image", "fields": [{"name": "image", "is_choice": false, "repeated": false, "type": "ImageVersion", "lookup": true}, {"name": "image_install_script", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "image_url", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "sha256sum", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ImageState", "type": "enum", "module": "sw_image", "values": {"0": "UNDEFINED_STATE", "1": "COPYING_IMAGE", "2": "INSTALLING_IMAGE", "3": "COMMITTING_IMAGE", "4": "REBOOTING_DEVICE", "5": "UPGRADE_COMPLETE", "6": "UPGRADE_FAILED", "7": "ACTIVATION_COMPLETE", "8": "ACTIVATION_FAILED"}}, {"name": "Reason", "type": "enum", "module": "sw_image", "values": {"0": "UNDEFINED_REASON", "1": "ERROR_IN_REQUEST", "2": "INTERNAL_ERROR", "3": "DEVICE_IN_WRONG_STATE", "4": "INVALID_IMAGE", "5": "WRONG_IMAGE_CHECKSUM"}}, {"name": "ImageStatus", "type": "message", "module": "sw_image", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "state", "is_choice": false, "repeated": false, "type": "ImageState", "lookup": true}, {"name": "description", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "PhysicalInventoryRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "PhysicalInventoryResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "inventory", "is_choice": false, "repeated": false, "type": "Hardware", "lookup": true}]}, {"name": "HWComponentInfoGetRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "HWComponentInfoGetResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "component", "is_choice": false, "repeated": false, "type": "Component", "lookup": true}]}, {"name": "HWComponentInfoSetRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "changes", "is_choice": false, "repeated": false, "type": "ModifiableComponent", "lookup": true}]}, {"name": "HWComponentInfoSetResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "StartManagingDeviceResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "StopManagingDeviceRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "StopManagingDeviceResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "ManagedDevicesResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "devices", "is_choice": false, "repeated": true, "type": "ModifiableComponent", "lookup": true}]}, {"name": "SetLoggingEndpointRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "logging_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "logging_protocol", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "SetRemoteEndpointResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "GetLoggingEndpointResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "logging_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "logging_protocol", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "SetMsgBusEndpointRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "msgbus_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "GetMsgBusEndpointResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "msgbus_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "EntitiesLogLevel", "type": "message", "module": "hw_management_service", "fields": [{"name": "logLevel", "is_choice": false, "repeated": false, "type": "LogLevel", "lookup": true}, {"name": "entities", "is_choice": false, "repeated": true, "type": "string", "lookup": false}]}, {"name": "SetLogLevelRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "loglevels", "is_choice": false, "repeated": true, "type": "EntitiesLogLevel", "lookup": true}]}, {"name": "SetLogLevelResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "GetLogLevelRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "entities", "is_choice": false, "repeated": true, "type": "string", "lookup": false}]}, {"name": "GetLogLevelResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "logLevels", "is_choice": false, "repeated": true, "type": "EntitiesLogLevel", "lookup": true}, {"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "GetLoggableEntitiesRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "SoftwareVersionInformation", "type": "message", "module": "sw_management_service", "fields": [{"name": "active_versions", "is_choice": false, "repeated": true, "type": "ImageVersion", "lookup": true}, {"name": "standby_versions", "is_choice": false, "repeated": true, "type": "ImageVersion", "lookup": true}]}, {"name": "GetSoftwareVersionInformationResponse", "type": "message", "module": "sw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "info", "is_choice": false, "repeated": false, "type": "SoftwareVersionInformation", "lookup": true}]}, {"name": "DownloadImageRequest", "type": "message", "module": "sw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "image_info", "is_choice": false, "repeated": false, "type": "ImageInformation", "lookup": true}]}, {"name": "ConfigRequest", "type": "message", "module": "sw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "config_url", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ConfigResponse", "type": "message", "module": "sw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}], "services": [{"name": "NativeMetricsManagementService", "module": "hw_metrics_mgmt_service", "rpcs": [{"name": "ListMetrics", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "ListMetricsResponse", "lookup": true}}, {"name": "UpdateMetricsConfiguration", "request": {"is_stream": false, "type": "MetricsConfigurationRequest", "lookup": true}, "response": {"is_stream": false, "type": "MetricsConfigurationResponse", "lookup": true}}, {"name": "GetMetric", "request": {"is_stream": false, "type": "GetMetricRequest", "lookup": true}, "response": {"is_stream": false, "type": "GetMetricResponse", "lookup": true}}]}, {"name": "NativeEventsManagementService", "module": "hw_events_mgmt_service", "rpcs": [{"name": "ListEvents", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "ListEventsResponse", "lookup": true}}, {"name": "UpdateEventsConfiguration", "request": {"is_stream": false, "type": "EventsConfigurationRequest", "lookup": true}, "response": {"is_stream": false, "type": "EventsConfigurationResponse", "lookup": true}}]}, {"name": "NativeHWManagementService", "module": "hw_management_service", "rpcs": [{"name": "StartManagingDevice", "request": {"is_stream": false, "type": "ModifiableComponent", "lookup": true}, "response": {"is_stream": true, "type": "StartManagingDeviceResponse", "lookup": true}}, {"name": "StopManagingDevice", "request": {"is_stream": false, "type": "StopManagingDeviceRequest", "lookup": true}, "response": {"is_stream": false, "type": "StopManagingDeviceResponse", "lookup": true}}, {"name": "GetManagedDevices", "request": {"is_stream": false, "type": "google.protobuf.Empty", "lookup": false}, "response": {"is_stream": false, "type": "ManagedDevicesResponse", "lookup": true}}, {"name": "GetPhysicalInventory", "request": {"is_stream": false, "type": "PhysicalInventoryRequest", "lookup": true}, "response": {"is_stream": true, "type": "PhysicalInventoryResponse", "lookup": true}}, {"name": "GetHWComponentInfo", "request": {"is_stream": false, "type": "HWComponentInfoGetRequest", "lookup": true}, "response": {"is_stream": true, "type": "HWComponentInfoGetResponse", "lookup": true}}, {"name": "SetHWComponentInfo", "request": {"is_stream": false, "type": "HWComponentInfoSetRequest", "lookup": true}, "response": {"is_stream": false, "type": "HWComponentInfoSetResponse", "lookup": true}}, {"name": "SetLoggingEndpoint", "request": {"is_stream": false, "type": "SetLoggingEndpointRequest", "lookup": true}, "response": {"is_stream": false, "type": "SetRemoteEndpointResponse", "lookup": true}}, {"name": "GetLoggingEndpoint", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "GetLoggingEndpointResponse", "lookup": true}}, {"name": "SetMsgBusEndpoint", "request": {"is_stream": false, "type": "SetMsgBusEndpointRequest", "lookup": true}, "response": {"is_stream": false, "type": "SetRemoteEndpointResponse", "lookup": true}}, {"name": "GetMsgBusEndpoint", "request": {"is_stream": false, "type": "google.protobuf.Empty", "lookup": false}, "response": {"is_stream": false, "type": "GetMsgBusEndpointResponse", "lookup": true}}, {"name": "GetLoggableEntities", "request": {"is_stream": false, "type": "GetLoggableEntitiesRequest", "lookup": true}, "response": {"is_stream": false, "type": "GetLogLevelResponse", "lookup": true}}, {"name": "SetLogLevel", "request": {"is_stream": false, "type": "SetLogLevelRequest", "lookup": true}, "response": {"is_stream": false, "type": "SetLogLevelResponse", "lookup": true}}, {"name": "GetLogLevel", "request": {"is_stream": false, "type": "GetLogLevelRequest", "lookup": true}, "response": {"is_stream": false, "type": "GetLogLevelResponse", "lookup": true}}]}, {"name": "NativeSoftwareManagementService", "module": "sw_management_service", "rpcs": [{"name": "GetSoftwareVersion", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "GetSoftwareVersionInformationResponse", "lookup": true}}, {"name": "DownloadImage", "request": {"is_stream": false, "type": "DownloadImageRequest", "lookup": true}, "response": {"is_stream": true, "type": "ImageStatus", "lookup": true}}, {"name": "ActivateImage", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": true, "type": "ImageStatus", "lookup": true}}, {"name": "RevertToStandbyImage", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": true, "type": "ImageStatus", "lookup": true}}, {"name": "UpdateStartupConfiguration", "request": {"is_stream": false, "type": "ConfigRequest", "lookup": true}, "response": {"is_stream": true, "type": "ConfigResponse", "lookup": true}}]}]}
\ No newline at end of file
diff --git a/grpc_robot/services/dmi/dmi_0_9_8/__init__.py b/grpc_robot/services/dmi/dmi_0_9_8/__init__.py
new file mode 100644
index 0000000..6209d14
--- /dev/null
+++ b/grpc_robot/services/dmi/dmi_0_9_8/__init__.py
@@ -0,0 +1,17 @@
+# Copyright 2020-present Open Networking Foundation
+# Original copyright 2020-present ADTRAN, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+from ..dmi_0_9_1.hw_events_mgmt_service import *
+from ..dmi_0_9_4.hw_management_service import *
+from ..dmi_0_9_1.hw_metrics_mgmt_service import *
+from .sw_management_service import *
diff --git a/grpc_robot/services/dmi/dmi_0_9_8/dmi.json b/grpc_robot/services/dmi/dmi_0_9_8/dmi.json
new file mode 100644
index 0000000..4959cf0
--- /dev/null
+++ b/grpc_robot/services/dmi/dmi_0_9_8/dmi.json
@@ -0,0 +1 @@
+{"modules": [{"name": "commons", "imports": []}, {"name": "hw", "imports": ["timestamp"]}, {"name": "hw_metrics_mgmt_service", "imports": ["commons", "hw"]}, {"name": "hw_events_mgmt_service", "imports": ["commons", "hw", "timestamp"]}, {"name": "sw_image", "imports": ["commons"]}, {"name": "hw_management_service", "imports": ["commons", "hw", "empty"]}, {"name": "sw_management_service", "imports": ["commons", "hw", "sw_image"]}], "data_types": [{"name": "Status", "type": "enum", "module": "commons", "values": {"0": "UNDEFINED_STATUS", "1": "OK_STATUS", "2": "ERROR_STATUS"}}, {"name": "LogLevel", "type": "enum", "module": "commons", "values": {"0": "TRACE", "1": "DEBUG", "2": "INFO", "3": "WARN", "4": "ERROR"}}, {"name": "Uuid", "type": "message", "module": "hw", "fields": [{"name": "uuid", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "HardwareID", "type": "message", "module": "hw", "fields": [{"name": "uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "Uri", "type": "message", "module": "hw", "fields": [{"name": "uri", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ComponentType", "type": "enum", "module": "hw", "values": {"0": "COMPONENT_TYPE_UNDEFINED", "1": "COMPONENT_TYPE_UNKNOWN", "2": "COMPONENT_TYPE_CHASSIS", "3": "COMPONENT_TYPE_BACKPLANE", "4": "COMPONENT_TYPE_CONTAINER", "5": "COMPONENT_TYPE_POWER_SUPPLY", "6": "COMPONENT_TYPE_FAN", "7": "COMPONENT_TYPE_SENSOR", "8": "COMPONENT_TYPE_MODULE", "9": "COMPONENT_TYPE_PORT", "10": "COMPONENT_TYPE_CPU", "11": "COMPONENT_TYPE_BATTERY", "12": "COMPONENT_TYPE_STORAGE", "13": "COMPONENT_TYPE_MEMORY", "14": "COMPONENT_TYPE_TRANSCEIVER", "15": "COMPONENT_TYPE_GPON_TRANSCEIVER", "16": "COMPONENT_TYPE_XGS_PON_TRANSCEIVER"}}, {"name": "ComponentAdminState", "type": "enum", "module": "hw", "values": {"0": "COMP_ADMIN_STATE_UNDEFINED", "1": "COMP_ADMIN_STATE_UNKNOWN", "2": "COMP_ADMIN_STATE_LOCKED", "3": "COMP_ADMIN_STATE_SHUTTING_DOWN", "4": "COMP_ADMIN_STATE_UNLOCKED"}}, {"name": "ComponentOperState", "type": "enum", "module": "hw", "values": {"0": "COMP_OPER_STATE_UNDEFINED", "1": "COMP_OPER_STATE_UNKNOWN", "2": "COMP_OPER_STATE_DISABLED", "3": "COMP_OPER_STATE_ENABLED", "4": "COMP_OPER_STATE_TESTING"}}, {"name": "ComponentUsageState", "type": "enum", "module": "hw", "values": {"0": "COMP_USAGE_STATE_UNDEFINED", "1": "COMP_USAGE_STATE_UNKNOWN", "2": "COMP_USAGE_STATE_IDLE", "3": "COMP_USAGE_STATE_ACTIVE", "4": "COMP_USAGE_STATE_BUSY"}}, {"name": "ComponentAlarmState", "type": "enum", "module": "hw", "values": {"0": "COMP_ALARM_STATE_UNDEFINED", "1": "COMP_ALARM_STATE_UNKNOWN", "2": "COMP_ALARM_STATE_UNDER_REPAIR", "3": "COMP_ALARM_STATE_CRITICAL", "4": "COMP_ALARM_STATE_MAJOR", "5": "COMP_ALARM_STATE_MINOR", "6": "COMP_ALARM_STATE_WARNING", "7": "COMP_ALARM_STATE_INDETERMINATE"}}, {"name": "ComponentStandbyState", "type": "enum", "module": "hw", "values": {"0": "COMP_STANDBY_STATE_UNDEFINED", "1": "COMP_STANDBY_STATE_UNKNOWN", "2": "COMP_STANDBY_STATE_HOT", "3": "COMP_STANDBY_STATE_COLD", "4": "COMP_STANDBY_STATE_PROVIDING_SERVICE"}}, {"name": "ComponentState", "type": "message", "module": "hw", "fields": [{"name": "state_last_changed", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "admin_state", "is_choice": false, "repeated": false, "type": "ComponentAdminState", "lookup": true}, {"name": "oper_state", "is_choice": false, "repeated": false, "type": "ComponentOperState", "lookup": true}, {"name": "usage_state", "is_choice": false, "repeated": false, "type": "ComponentUsageState", "lookup": true}, {"name": "alarm_state", "is_choice": false, "repeated": false, "type": "ComponentAlarmState", "lookup": true}, {"name": "standby_state", "is_choice": false, "repeated": false, "type": "ComponentStandbyState", "lookup": true}]}, {"name": "SensorValueType", "type": "enum", "module": "hw", "values": {"0": "SENSOR_VALUE_TYPE_UNDEFINED", "1": "SENSOR_VALUE_TYPE_OTHER", "2": "SENSOR_VALUE_TYPE_UNKNOWN", "3": "SENSOR_VALUE_TYPE_VOLTS_AC", "4": "SENSOR_VALUE_TYPE_VOLTS_DC", "5": "SENSOR_VALUE_TYPE_AMPERES", "6": "SENSOR_VALUE_TYPE_WATTS", "7": "SENSOR_VALUE_TYPE_HERTZ", "8": "SENSOR_VALUE_TYPE_CELSIUS", "9": "SENSOR_VALUE_TYPE_PERCENT_RH", "10": "SENSOR_VALUE_TYPE_RPM", "11": "SENSOR_VALUE_TYPE_CMM", "12": "SENSOR_VALUE_TYPE_TRUTH_VALUE"}}, {"name": "SensorValueScale", "type": "enum", "module": "hw", "values": {"0": "SENSOR_VALUE_SCALE_UNDEFINED", "1": "SENSOR_VALUE_SCALE_YOCTO", "2": "SENSOR_VALUE_SCALE_ZEPTO", "3": "SENSOR_VALUE_SCALE_ATTO", "4": "SENSOR_VALUE_SCALE_FEMTO", "5": "SENSOR_VALUE_SCALE_PICO", "6": "SENSOR_VALUE_SCALE_NANO", "7": "SENSOR_VALUE_SCALE_MICRO", "8": "SENSOR_VALUE_SCALE_MILLI", "9": "SENSOR_VALUE_SCALE_UNITS", "10": "SENSOR_VALUE_SCALE_KILO", "11": "SENSOR_VALUE_SCALE_MEGA", "12": "SENSOR_VALUE_SCALE_GIGA", "13": "SENSOR_VALUE_SCALE_TERA", "14": "SENSOR_VALUE_SCALE_PETA", "15": "SENSOR_VALUE_SCALE_EXA", "16": "SENSOR_VALUE_SCALE_ZETTA", "17": "SENSOR_VALUE_SCALE_YOTTA"}}, {"name": "SensorStatus", "type": "enum", "module": "hw", "values": {"0": "SENSOR_STATUS_UNDEFINED", "1": "SENSOR_STATUS_OK", "2": "SENSOR_STATUS_UNAVAILABLE", "3": "SENSOR_STATUS_NONOPERATIONAL"}}, {"name": "ComponentSensorData", "type": "message", "module": "hw", "fields": [{"name": "value", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "type", "is_choice": false, "repeated": false, "type": "SensorValueType", "lookup": true}, {"name": "scale", "is_choice": false, "repeated": false, "type": "SensorValueScale", "lookup": true}, {"name": "precision", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "status", "is_choice": false, "repeated": false, "type": "SensorStatus", "lookup": true}, {"name": "units_display", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "timestamp", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "value_update_rate", "is_choice": false, "repeated": false, "type": "uint32", "lookup": false}, {"name": "data_type", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Component", "type": "message", "module": "hw", "fields": [{"name": "name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "class", "is_choice": false, "repeated": false, "type": "ComponentType", "lookup": true}, {"name": "description", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "parent", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "parent_rel_pos", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "children", "is_choice": false, "repeated": true, "type": "Component", "lookup": true}, {"name": "hardware_rev", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "firmware_rev", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "software_rev", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "serial_num", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "mfg_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "model_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "alias", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "asset_id", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "is_fru", "is_choice": false, "repeated": false, "type": "bool", "lookup": false}, {"name": "mfg_date", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "uri", "is_choice": false, "repeated": false, "type": "Uri", "lookup": true}, {"name": "uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "state", "is_choice": false, "repeated": false, "type": "ComponentState", "lookup": true}, {"name": "sensor_data", "is_choice": false, "repeated": true, "type": "ComponentSensorData", "lookup": true}]}, {"name": "Hardware", "type": "message", "module": "hw", "fields": [{"name": "last_change", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "root", "is_choice": false, "repeated": false, "type": "Component", "lookup": true}]}, {"name": "ModifiableComponent", "type": "message", "module": "hw", "fields": [{"name": "name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "class", "is_choice": false, "repeated": false, "type": "ComponentType", "lookup": true}, {"name": "parent", "is_choice": false, "repeated": false, "type": "Component", "lookup": true}, {"name": "parent_rel_pos", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "alias", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "asset_id", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "uri", "is_choice": false, "repeated": false, "type": "Uri", "lookup": true}, {"name": "admin_state", "is_choice": false, "repeated": false, "type": "ComponentAdminState", "lookup": true}]}, {"name": "MetricNames", "type": "enum", "module": "hw_metrics_mgmt_service", "values": {"0": "METRIC_NAME_UNDEFINED", "1": "METRIC_FAN_SPEED", "100": "METRIC_CPU_TEMP", "101": "METRIC_CPU_USAGE_PERCENTAGE", "200": "METRIC_TRANSCEIVER_TEMP", "201": "METRIC_TRANSCEIVER_VOLTAGE", "202": "METRIC_TRANSCEIVER_BIAS", "203": "METRIC_TRANSCEIVER_RX_POWER", "204": "METRIC_TRANSCEIVER_TX_POWER", "205": "METRIC_TRANSCEIVER_WAVELENGTH", "300": "METRIC_DISK_TEMP", "301": "METRIC_DISK_CAPACITY", "302": "METRIC_DISK_USAGE", "303": "METRIC_DISK_USAGE_PERCENTAGE", "304": "METRIC_DISK_READ_WRITE_PERCENTAGE", "305": "METRIC_DISK_FAULTY_CELLS_PERCENTAGE", "400": "METRIC_RAM_TEMP", "401": "METRIC_RAM_CAPACITY", "402": "METRIC_RAM_USAGE", "403": "METRIC_RAM_USAGE_PERCENTAGE", "500": "METRIC_POWER_MAX", "501": "METRIC_POWER_USAGE", "502": "METRIC_POWER_USAGE_PERCENTAGE", "600": "METRIC_INNER_SURROUNDING_TEMP"}}, {"name": "MetricConfig", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "metric_id", "is_choice": false, "repeated": false, "type": "MetricNames", "lookup": true}, {"name": "is_configured", "is_choice": false, "repeated": false, "type": "bool", "lookup": false}, {"name": "poll_interval", "is_choice": false, "repeated": false, "type": "uint32", "lookup": false}]}, {"name": "MetricsConfig", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "metrics", "is_choice": false, "repeated": true, "type": "MetricConfig", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_metrics_mgmt_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR"}}, {"name": "ListMetricsResponse", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "metrics", "is_choice": false, "repeated": false, "type": "MetricsConfig", "lookup": true}]}, {"name": "MetricsConfigurationRequest", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "operation", "is_choice": true, "cases": [{"name": "changes", "type": "MetricsConfig", "lookup": true}, {"name": "reset_to_default", "type": "bool", "lookup": false}]}]}, {"name": "Reason", "type": "enum", "module": "hw_metrics_mgmt_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "POLL_INTERVAL_UNSUPPORTED", "4": "INVALID_METRIC"}}, {"name": "MetricsConfigurationResponse", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "MetricMetaData", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Metric", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "metric_id", "is_choice": false, "repeated": false, "type": "MetricNames", "lookup": true}, {"name": "metric_metadata", "is_choice": false, "repeated": false, "type": "MetricMetaData", "lookup": true}, {"name": "value", "is_choice": false, "repeated": false, "type": "ComponentSensorData", "lookup": true}]}, {"name": "GetMetricRequest", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "meta_data", "is_choice": false, "repeated": false, "type": "MetricMetaData", "lookup": true}, {"name": "metric_id", "is_choice": false, "repeated": false, "type": "MetricNames", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_metrics_mgmt_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "UNKNOWN_COMPONENT", "3": "INTERNAL_ERROR", "4": "INVALID_METRIC"}}, {"name": "GetMetricResponse", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "metric", "is_choice": false, "repeated": false, "type": "Metric", "lookup": true}]}, {"name": "EventIds", "type": "enum", "module": "hw_events_mgmt_service", "values": {"0": "EVENT_NAME_UNDEFINED", "100": "EVENT_TRANSCEIVER_PLUG_OUT", "101": "EVENT_TRANSCEIVER_PLUG_IN", "102": "EVENT_TRANSCEIVER_VOLTAGE_ABOVE_THRESHOLD", "103": "EVENT_TRANSCEIVER_VOLTAGE_BELOW_THRESHOLD", "104": "EVENT_TRANSCEIVER_TEMPERATURE_ABOVE_THRESHOLD", "105": "EVENT_TRANSCEIVER_TEMPERATURE_BELOW_THRESHOLD", "106": "EVENT_TRANSCEIVER_CURRENT_ABOVE_THRESHOLD", "107": "EVENT_TRANSCEIVER_CURRENT_BELOW_THRESHOLD", "108": "EVENT_TRANSCEIVER_RX_POWER_ABOVE_THRESHOLD", "109": "EVENT_TRANSCEIVER_RX_POWER_BELOW_THRESHOLD", "110": "EVENT_TRANSCEIVER_TX_POWER_ABOVE_THRESHOLD", "111": "EVENT_TRANSCEIVER_TX_POWER_BELOW_THRESHOLD", "112": "EVENT_TRANSCEIVER_FAILURE", "113": "EVENT_TRANSCEIVER_VOLTAGE_ABOVE_THRESHOLD_RECOVERED", "114": "EVENT_TRANSCEIVER_VOLTAGE_BELOW_THRESHOLD_RECOVERED", "115": "EVENT_TRANSCEIVER_TEMPERATURE_ABOVE_THRESHOLD_RECOVERED", "116": "EVENT_TRANSCEIVER_TEMPERATURE_BELOW_THRESHOLD_RECOVERED", "117": "EVENT_TRANSCEIVER_CURRENT_ABOVE_THRESHOLD_RECOVERED", "118": "EVENT_TRANSCEIVER_CURRENT_BELOW_THRESHOLD_RECOVERED", "119": "EVENT_TRANSCEIVER_RX_POWER_ABOVE_THRESHOLD_RECOVERED", "120": "EVENT_TRANSCEIVER_RX_POWER_BELOW_THRESHOLD_RECOVERED", "121": "EVENT_TRANSCEIVER_TX_POWER_ABOVE_THRESHOLD_RECOVERED", "122": "EVENT_TRANSCEIVER_TX_POWER_BELOW_THRESHOLD_RECOVERED", "123": "EVENT_TRANSCEIVER_FAILURE_RECOVERED", "200": "EVENT_PSU_PLUG_OUT", "201": "EVENT_PSU_PLUG_IN", "202": "EVENT_PSU_FAILURE", "203": "EVENT_PSU_FAILURE_RECOVERED", "300": "EVENT_FAN_FAILURE", "301": "EVENT_FAN_PLUG_OUT", "302": "EVENT_FAN_PLUG_IN", "303": "EVENT_FAN_FAILURE_RECOVERED", "400": "EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL", "401": "EVENT_CPU_TEMPERATURE_ABOVE_FATAL", "402": "EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL_RECOVERED", "403": "EVENT_CPU_TEMPERATURE_ABOVE_FATAL_RECOVERED", "500": "EVENT_HW_DEVICE_RESET", "501": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL", "502": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL", "503": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL_RECOVERED", "504": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL_RECOVERED"}}, {"name": "ValueType", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "val", "is_choice": true, "cases": [{"name": "int_val", "type": "int64", "lookup": false}, {"name": "uint_val", "type": "uint64", "lookup": false}, {"name": "float_val", "type": "float", "lookup": false}]}]}, {"name": "WaterMarks", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "high", "is_choice": false, "repeated": false, "type": "ValueType", "lookup": true}, {"name": "low", "is_choice": false, "repeated": false, "type": "ValueType", "lookup": true}]}, {"name": "Thresholds", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "threshold", "is_choice": true, "cases": [{"name": "upper", "type": "WaterMarks", "lookup": true}, {"name": "lower", "type": "WaterMarks", "lookup": true}]}]}, {"name": "ThresholdInformation", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "observed_value", "is_choice": false, "repeated": false, "type": "ValueType", "lookup": true}, {"name": "thresholds", "is_choice": false, "repeated": false, "type": "Thresholds", "lookup": true}]}, {"name": "EventCfg", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "event_id", "is_choice": false, "repeated": false, "type": "EventIds", "lookup": true}, {"name": "is_configured", "is_choice": false, "repeated": false, "type": "bool", "lookup": false}, {"name": "thresholds", "is_choice": false, "repeated": false, "type": "Thresholds", "lookup": true}]}, {"name": "EventsCfg", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "items", "is_choice": false, "repeated": true, "type": "EventCfg", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_events_mgmt_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR"}}, {"name": "ListEventsResponse", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "events", "is_choice": false, "repeated": false, "type": "EventsCfg", "lookup": true}]}, {"name": "EventsConfigurationRequest", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "operation", "is_choice": true, "cases": [{"name": "changes", "type": "EventsCfg", "lookup": true}, {"name": "reset_to_default", "type": "bool", "lookup": false}]}]}, {"name": "Reason", "type": "enum", "module": "hw_events_mgmt_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "INVALID_CONFIG"}}, {"name": "EventsConfigurationResponse", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "EventMetaData", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Event", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "event_metadata", "is_choice": false, "repeated": false, "type": "EventMetaData", "lookup": true}, {"name": "event_id", "is_choice": false, "repeated": false, "type": "EventIds", "lookup": true}, {"name": "raised_ts", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "threshold_info", "is_choice": false, "repeated": false, "type": "ThresholdInformation", "lookup": true}, {"name": "add_info", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ImageVersion", "type": "message", "module": "sw_image", "fields": [{"name": "image_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "version", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ImageInformation", "type": "message", "module": "sw_image", "fields": [{"name": "image", "is_choice": false, "repeated": false, "type": "ImageVersion", "lookup": true}, {"name": "image_install_script", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "image_url", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "sha256sum", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ImageState", "type": "enum", "module": "sw_image", "values": {"0": "UNDEFINED_STATE", "1": "COPYING_IMAGE", "2": "INSTALLING_IMAGE", "3": "COMMITTING_IMAGE", "4": "REBOOTING_DEVICE", "5": "UPGRADE_COMPLETE", "6": "UPGRADE_FAILED", "7": "ACTIVATION_COMPLETE", "8": "ACTIVATION_FAILED"}}, {"name": "Reason", "type": "enum", "module": "sw_image", "values": {"0": "UNDEFINED_REASON", "1": "ERROR_IN_REQUEST", "2": "INTERNAL_ERROR", "3": "DEVICE_IN_WRONG_STATE", "4": "INVALID_IMAGE", "5": "WRONG_IMAGE_CHECKSUM", "6": "OPERATION_ALREADY_IN_PROGRESS", "7": "UNKNOWN_DEVICE", "8": "DEVICE_NOT_REACHABLE"}}, {"name": "ImageStatus", "type": "message", "module": "sw_image", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "state", "is_choice": false, "repeated": false, "type": "ImageState", "lookup": true}, {"name": "description", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "PhysicalInventoryRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR"}}, {"name": "PhysicalInventoryResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "inventory", "is_choice": false, "repeated": false, "type": "Hardware", "lookup": true}]}, {"name": "HWComponentInfoGetRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "UNKNOWN_COMPONENT", "3": "INTERNAL_ERROR"}}, {"name": "HWComponentInfoGetResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "component", "is_choice": false, "repeated": false, "type": "Component", "lookup": true}]}, {"name": "HWComponentInfoSetRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "changes", "is_choice": false, "repeated": false, "type": "ModifiableComponent", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "UNKNOWN_COMPONENT", "3": "INVALID_PARAMS", "4": "INTERNAL_ERROR"}}, {"name": "HWComponentInfoSetResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "DEVICE_ALREADY_MANAGED", "2": "OPERATION_ALREADY_IN_PROGRESS", "3": "INVALID_PARAMS", "4": "INTERNAL_ERROR"}}, {"name": "StartManagingDeviceResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "StopManagingDeviceRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE"}}, {"name": "StopManagingDeviceResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "ManagedDevicesResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "devices", "is_choice": false, "repeated": true, "type": "ModifiableComponent", "lookup": true}]}, {"name": "SetLoggingEndpointRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "logging_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "logging_protocol", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "LOGGING_ENDPOINT_ERROR", "4": "LOGGING_ENDPOINT_PROTOCOL_ERROR", "5": "MSGBUS_ENDPOINT_ERROR"}}, {"name": "SetRemoteEndpointResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR"}}, {"name": "GetLoggingEndpointResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "logging_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "logging_protocol", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "SetMsgBusEndpointRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "msgbus_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "INTERNAL_ERROR"}}, {"name": "GetMsgBusEndpointResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "msgbus_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "EntitiesLogLevel", "type": "message", "module": "hw_management_service", "fields": [{"name": "logLevel", "is_choice": false, "repeated": false, "type": "LogLevel", "lookup": true}, {"name": "entities", "is_choice": false, "repeated": true, "type": "string", "lookup": false}]}, {"name": "SetLogLevelRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "loglevels", "is_choice": false, "repeated": true, "type": "EntitiesLogLevel", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "UNKNOWN_LOG_ENTITY"}}, {"name": "SetLogLevelResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "GetLogLevelRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "entities", "is_choice": false, "repeated": true, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "UNKNOWN_LOG_ENTITY"}}, {"name": "GetLogLevelResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "logLevels", "is_choice": false, "repeated": true, "type": "EntitiesLogLevel", "lookup": true}, {"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "GetLoggableEntitiesRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "SoftwareVersionInformation", "type": "message", "module": "sw_management_service", "fields": [{"name": "active_versions", "is_choice": false, "repeated": true, "type": "ImageVersion", "lookup": true}, {"name": "standby_versions", "is_choice": false, "repeated": true, "type": "ImageVersion", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "sw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR"}}, {"name": "GetSoftwareVersionInformationResponse", "type": "message", "module": "sw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "info", "is_choice": false, "repeated": false, "type": "SoftwareVersionInformation", "lookup": true}]}, {"name": "DownloadImageRequest", "type": "message", "module": "sw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "image_info", "is_choice": false, "repeated": false, "type": "ImageInformation", "lookup": true}]}, {"name": "ConfigRequest", "type": "message", "module": "sw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "config_url", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "sw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "ERROR_FETCHING_CONFIG", "4": "INVALID_CONFIG", "5": "OPERATION_ALREADY_IN_PROGRESS"}}, {"name": "ConfigResponse", "type": "message", "module": "sw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "StartupConfigInfoRequest", "type": "message", "module": "sw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "sw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR"}}, {"name": "StartupConfigInfoResponse", "type": "message", "module": "sw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "config_url", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "version", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}], "services": [{"name": "NativeMetricsManagementService", "module": "hw_metrics_mgmt_service", "rpcs": [{"name": "ListMetrics", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "ListMetricsResponse", "lookup": true}}, {"name": "UpdateMetricsConfiguration", "request": {"is_stream": false, "type": "MetricsConfigurationRequest", "lookup": true}, "response": {"is_stream": false, "type": "MetricsConfigurationResponse", "lookup": true}}, {"name": "GetMetric", "request": {"is_stream": false, "type": "GetMetricRequest", "lookup": true}, "response": {"is_stream": false, "type": "GetMetricResponse", "lookup": true}}]}, {"name": "NativeEventsManagementService", "module": "hw_events_mgmt_service", "rpcs": [{"name": "ListEvents", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "ListEventsResponse", "lookup": true}}, {"name": "UpdateEventsConfiguration", "request": {"is_stream": false, "type": "EventsConfigurationRequest", "lookup": true}, "response": {"is_stream": false, "type": "EventsConfigurationResponse", "lookup": true}}]}, {"name": "NativeHWManagementService", "module": "hw_management_service", "rpcs": [{"name": "StartManagingDevice", "request": {"is_stream": false, "type": "ModifiableComponent", "lookup": true}, "response": {"is_stream": true, "type": "StartManagingDeviceResponse", "lookup": true}}, {"name": "StopManagingDevice", "request": {"is_stream": false, "type": "StopManagingDeviceRequest", "lookup": true}, "response": {"is_stream": false, "type": "StopManagingDeviceResponse", "lookup": true}}, {"name": "GetManagedDevices", "request": {"is_stream": false, "type": "google.protobuf.Empty", "lookup": false}, "response": {"is_stream": false, "type": "ManagedDevicesResponse", "lookup": true}}, {"name": "GetPhysicalInventory", "request": {"is_stream": false, "type": "PhysicalInventoryRequest", "lookup": true}, "response": {"is_stream": true, "type": "PhysicalInventoryResponse", "lookup": true}}, {"name": "GetHWComponentInfo", "request": {"is_stream": false, "type": "HWComponentInfoGetRequest", "lookup": true}, "response": {"is_stream": true, "type": "HWComponentInfoGetResponse", "lookup": true}}, {"name": "SetHWComponentInfo", "request": {"is_stream": false, "type": "HWComponentInfoSetRequest", "lookup": true}, "response": {"is_stream": false, "type": "HWComponentInfoSetResponse", "lookup": true}}, {"name": "SetLoggingEndpoint", "request": {"is_stream": false, "type": "SetLoggingEndpointRequest", "lookup": true}, "response": {"is_stream": false, "type": "SetRemoteEndpointResponse", "lookup": true}}, {"name": "GetLoggingEndpoint", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "GetLoggingEndpointResponse", "lookup": true}}, {"name": "SetMsgBusEndpoint", "request": {"is_stream": false, "type": "SetMsgBusEndpointRequest", "lookup": true}, "response": {"is_stream": false, "type": "SetRemoteEndpointResponse", "lookup": true}}, {"name": "GetMsgBusEndpoint", "request": {"is_stream": false, "type": "google.protobuf.Empty", "lookup": false}, "response": {"is_stream": false, "type": "GetMsgBusEndpointResponse", "lookup": true}}, {"name": "GetLoggableEntities", "request": {"is_stream": false, "type": "GetLoggableEntitiesRequest", "lookup": true}, "response": {"is_stream": false, "type": "GetLogLevelResponse", "lookup": true}}, {"name": "SetLogLevel", "request": {"is_stream": false, "type": "SetLogLevelRequest", "lookup": true}, "response": {"is_stream": false, "type": "SetLogLevelResponse", "lookup": true}}, {"name": "GetLogLevel", "request": {"is_stream": false, "type": "GetLogLevelRequest", "lookup": true}, "response": {"is_stream": false, "type": "GetLogLevelResponse", "lookup": true}}]}, {"name": "NativeSoftwareManagementService", "module": "sw_management_service", "rpcs": [{"name": "GetSoftwareVersion", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "GetSoftwareVersionInformationResponse", "lookup": true}}, {"name": "DownloadImage", "request": {"is_stream": false, "type": "DownloadImageRequest", "lookup": true}, "response": {"is_stream": true, "type": "ImageStatus", "lookup": true}}, {"name": "ActivateImage", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": true, "type": "ImageStatus", "lookup": true}}, {"name": "RevertToStandbyImage", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": true, "type": "ImageStatus", "lookup": true}}, {"name": "UpdateStartupConfiguration", "request": {"is_stream": false, "type": "ConfigRequest", "lookup": true}, "response": {"is_stream": true, "type": "ConfigResponse", "lookup": true}}, {"name": "GetStartupConfigurationInfo", "request": {"is_stream": false, "type": "StartupConfigInfoRequest", "lookup": true}, "response": {"is_stream": false, "type": "StartupConfigInfoResponse", "lookup": true}}]}]}
\ No newline at end of file
diff --git a/grpc_robot/services/dmi/dmi_0_9_8/sw_management_service.py b/grpc_robot/services/dmi/dmi_0_9_8/sw_management_service.py
new file mode 100644
index 0000000..1807c0f
--- /dev/null
+++ b/grpc_robot/services/dmi/dmi_0_9_8/sw_management_service.py
@@ -0,0 +1,62 @@
+# Copyright 2020-present Open Networking Foundation
+# Original copyright 2020-present ADTRAN, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+from robot.api.deco import keyword
+from grpc_robot.services.service import is_connected
+
+from grpc_robot.services.service import Service
+from dmi import sw_management_service_pb2_grpc, sw_management_service_pb2, hw_pb2
+
+
+class NativeSoftwareManagementService(Service):
+
+    prefix = 'sw_management_service_'
+
+    def __init__(self, ctx):
+        super().__init__(ctx=ctx, stub=sw_management_service_pb2_grpc.NativeSoftwareManagementServiceStub)
+
+    # rpc GetSoftwareVersion(HardwareID) returns(GetSoftwareVersionInformationResponse);
+    @keyword
+    @is_connected
+    def sw_management_service_get_software_version(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetSoftwareVersion, hw_pb2.HardwareID, param_dict, **kwargs)
+
+    # rpc DownloadImage(DownloadImageRequest) returns(stream ImageStatus);
+    @keyword
+    @is_connected
+    def sw_management_service_download_image(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.DownloadImage, sw_management_service_pb2.DownloadImageRequest, param_dict, **kwargs)
+
+    # rpc ActivateImage(HardwareID) returns(stream ImageStatus);
+    @keyword
+    @is_connected
+    def sw_management_service_activate_image(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.ActivateImage, hw_pb2.HardwareID, param_dict, **kwargs)
+
+    # rpc RevertToStandbyImage(HardwareID) returns(stream ImageStatus);
+    @keyword
+    @is_connected
+    def sw_management_service_revert_to_standby_image(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.RevertToStandbyImage, hw_pb2.HardwareID, param_dict, **kwargs)
+
+    # rpc UpdateStartupConfiguration(ConfigRequest) returns(stream ConfigResponse);
+    @keyword
+    @is_connected
+    def sw_management_service_update_startup_configuration(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.UpdateStartupConfiguration, sw_management_service_pb2.ConfigRequest, param_dict, **kwargs)
+
+    # rpc GetStartupConfigurationInfo(StartupConfigInfoRequest) returns(StartupConfigInfoResponse);
+    @keyword
+    @is_connected
+    def sw_management_service_get_startup_configuration_info(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetStartupConfigurationInfo, sw_management_service_pb2.StartupConfigInfoRequest, param_dict, **kwargs)
diff --git a/grpc_robot/services/dmi/dmi_0_9_9/__init__.py b/grpc_robot/services/dmi/dmi_0_9_9/__init__.py
new file mode 100644
index 0000000..1c90929
--- /dev/null
+++ b/grpc_robot/services/dmi/dmi_0_9_9/__init__.py
@@ -0,0 +1,14 @@
+# Copyright 2020-present Open Networking Foundation
+# Original copyright 2020-present ADTRAN, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+from ..dmi_0_9_8 import *
diff --git a/grpc_robot/services/dmi/dmi_0_9_9/dmi.json b/grpc_robot/services/dmi/dmi_0_9_9/dmi.json
new file mode 100644
index 0000000..4959cf0
--- /dev/null
+++ b/grpc_robot/services/dmi/dmi_0_9_9/dmi.json
@@ -0,0 +1 @@
+{"modules": [{"name": "commons", "imports": []}, {"name": "hw", "imports": ["timestamp"]}, {"name": "hw_metrics_mgmt_service", "imports": ["commons", "hw"]}, {"name": "hw_events_mgmt_service", "imports": ["commons", "hw", "timestamp"]}, {"name": "sw_image", "imports": ["commons"]}, {"name": "hw_management_service", "imports": ["commons", "hw", "empty"]}, {"name": "sw_management_service", "imports": ["commons", "hw", "sw_image"]}], "data_types": [{"name": "Status", "type": "enum", "module": "commons", "values": {"0": "UNDEFINED_STATUS", "1": "OK_STATUS", "2": "ERROR_STATUS"}}, {"name": "LogLevel", "type": "enum", "module": "commons", "values": {"0": "TRACE", "1": "DEBUG", "2": "INFO", "3": "WARN", "4": "ERROR"}}, {"name": "Uuid", "type": "message", "module": "hw", "fields": [{"name": "uuid", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "HardwareID", "type": "message", "module": "hw", "fields": [{"name": "uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "Uri", "type": "message", "module": "hw", "fields": [{"name": "uri", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ComponentType", "type": "enum", "module": "hw", "values": {"0": "COMPONENT_TYPE_UNDEFINED", "1": "COMPONENT_TYPE_UNKNOWN", "2": "COMPONENT_TYPE_CHASSIS", "3": "COMPONENT_TYPE_BACKPLANE", "4": "COMPONENT_TYPE_CONTAINER", "5": "COMPONENT_TYPE_POWER_SUPPLY", "6": "COMPONENT_TYPE_FAN", "7": "COMPONENT_TYPE_SENSOR", "8": "COMPONENT_TYPE_MODULE", "9": "COMPONENT_TYPE_PORT", "10": "COMPONENT_TYPE_CPU", "11": "COMPONENT_TYPE_BATTERY", "12": "COMPONENT_TYPE_STORAGE", "13": "COMPONENT_TYPE_MEMORY", "14": "COMPONENT_TYPE_TRANSCEIVER", "15": "COMPONENT_TYPE_GPON_TRANSCEIVER", "16": "COMPONENT_TYPE_XGS_PON_TRANSCEIVER"}}, {"name": "ComponentAdminState", "type": "enum", "module": "hw", "values": {"0": "COMP_ADMIN_STATE_UNDEFINED", "1": "COMP_ADMIN_STATE_UNKNOWN", "2": "COMP_ADMIN_STATE_LOCKED", "3": "COMP_ADMIN_STATE_SHUTTING_DOWN", "4": "COMP_ADMIN_STATE_UNLOCKED"}}, {"name": "ComponentOperState", "type": "enum", "module": "hw", "values": {"0": "COMP_OPER_STATE_UNDEFINED", "1": "COMP_OPER_STATE_UNKNOWN", "2": "COMP_OPER_STATE_DISABLED", "3": "COMP_OPER_STATE_ENABLED", "4": "COMP_OPER_STATE_TESTING"}}, {"name": "ComponentUsageState", "type": "enum", "module": "hw", "values": {"0": "COMP_USAGE_STATE_UNDEFINED", "1": "COMP_USAGE_STATE_UNKNOWN", "2": "COMP_USAGE_STATE_IDLE", "3": "COMP_USAGE_STATE_ACTIVE", "4": "COMP_USAGE_STATE_BUSY"}}, {"name": "ComponentAlarmState", "type": "enum", "module": "hw", "values": {"0": "COMP_ALARM_STATE_UNDEFINED", "1": "COMP_ALARM_STATE_UNKNOWN", "2": "COMP_ALARM_STATE_UNDER_REPAIR", "3": "COMP_ALARM_STATE_CRITICAL", "4": "COMP_ALARM_STATE_MAJOR", "5": "COMP_ALARM_STATE_MINOR", "6": "COMP_ALARM_STATE_WARNING", "7": "COMP_ALARM_STATE_INDETERMINATE"}}, {"name": "ComponentStandbyState", "type": "enum", "module": "hw", "values": {"0": "COMP_STANDBY_STATE_UNDEFINED", "1": "COMP_STANDBY_STATE_UNKNOWN", "2": "COMP_STANDBY_STATE_HOT", "3": "COMP_STANDBY_STATE_COLD", "4": "COMP_STANDBY_STATE_PROVIDING_SERVICE"}}, {"name": "ComponentState", "type": "message", "module": "hw", "fields": [{"name": "state_last_changed", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "admin_state", "is_choice": false, "repeated": false, "type": "ComponentAdminState", "lookup": true}, {"name": "oper_state", "is_choice": false, "repeated": false, "type": "ComponentOperState", "lookup": true}, {"name": "usage_state", "is_choice": false, "repeated": false, "type": "ComponentUsageState", "lookup": true}, {"name": "alarm_state", "is_choice": false, "repeated": false, "type": "ComponentAlarmState", "lookup": true}, {"name": "standby_state", "is_choice": false, "repeated": false, "type": "ComponentStandbyState", "lookup": true}]}, {"name": "SensorValueType", "type": "enum", "module": "hw", "values": {"0": "SENSOR_VALUE_TYPE_UNDEFINED", "1": "SENSOR_VALUE_TYPE_OTHER", "2": "SENSOR_VALUE_TYPE_UNKNOWN", "3": "SENSOR_VALUE_TYPE_VOLTS_AC", "4": "SENSOR_VALUE_TYPE_VOLTS_DC", "5": "SENSOR_VALUE_TYPE_AMPERES", "6": "SENSOR_VALUE_TYPE_WATTS", "7": "SENSOR_VALUE_TYPE_HERTZ", "8": "SENSOR_VALUE_TYPE_CELSIUS", "9": "SENSOR_VALUE_TYPE_PERCENT_RH", "10": "SENSOR_VALUE_TYPE_RPM", "11": "SENSOR_VALUE_TYPE_CMM", "12": "SENSOR_VALUE_TYPE_TRUTH_VALUE"}}, {"name": "SensorValueScale", "type": "enum", "module": "hw", "values": {"0": "SENSOR_VALUE_SCALE_UNDEFINED", "1": "SENSOR_VALUE_SCALE_YOCTO", "2": "SENSOR_VALUE_SCALE_ZEPTO", "3": "SENSOR_VALUE_SCALE_ATTO", "4": "SENSOR_VALUE_SCALE_FEMTO", "5": "SENSOR_VALUE_SCALE_PICO", "6": "SENSOR_VALUE_SCALE_NANO", "7": "SENSOR_VALUE_SCALE_MICRO", "8": "SENSOR_VALUE_SCALE_MILLI", "9": "SENSOR_VALUE_SCALE_UNITS", "10": "SENSOR_VALUE_SCALE_KILO", "11": "SENSOR_VALUE_SCALE_MEGA", "12": "SENSOR_VALUE_SCALE_GIGA", "13": "SENSOR_VALUE_SCALE_TERA", "14": "SENSOR_VALUE_SCALE_PETA", "15": "SENSOR_VALUE_SCALE_EXA", "16": "SENSOR_VALUE_SCALE_ZETTA", "17": "SENSOR_VALUE_SCALE_YOTTA"}}, {"name": "SensorStatus", "type": "enum", "module": "hw", "values": {"0": "SENSOR_STATUS_UNDEFINED", "1": "SENSOR_STATUS_OK", "2": "SENSOR_STATUS_UNAVAILABLE", "3": "SENSOR_STATUS_NONOPERATIONAL"}}, {"name": "ComponentSensorData", "type": "message", "module": "hw", "fields": [{"name": "value", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "type", "is_choice": false, "repeated": false, "type": "SensorValueType", "lookup": true}, {"name": "scale", "is_choice": false, "repeated": false, "type": "SensorValueScale", "lookup": true}, {"name": "precision", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "status", "is_choice": false, "repeated": false, "type": "SensorStatus", "lookup": true}, {"name": "units_display", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "timestamp", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "value_update_rate", "is_choice": false, "repeated": false, "type": "uint32", "lookup": false}, {"name": "data_type", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Component", "type": "message", "module": "hw", "fields": [{"name": "name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "class", "is_choice": false, "repeated": false, "type": "ComponentType", "lookup": true}, {"name": "description", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "parent", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "parent_rel_pos", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "children", "is_choice": false, "repeated": true, "type": "Component", "lookup": true}, {"name": "hardware_rev", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "firmware_rev", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "software_rev", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "serial_num", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "mfg_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "model_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "alias", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "asset_id", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "is_fru", "is_choice": false, "repeated": false, "type": "bool", "lookup": false}, {"name": "mfg_date", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "uri", "is_choice": false, "repeated": false, "type": "Uri", "lookup": true}, {"name": "uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "state", "is_choice": false, "repeated": false, "type": "ComponentState", "lookup": true}, {"name": "sensor_data", "is_choice": false, "repeated": true, "type": "ComponentSensorData", "lookup": true}]}, {"name": "Hardware", "type": "message", "module": "hw", "fields": [{"name": "last_change", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "root", "is_choice": false, "repeated": false, "type": "Component", "lookup": true}]}, {"name": "ModifiableComponent", "type": "message", "module": "hw", "fields": [{"name": "name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "class", "is_choice": false, "repeated": false, "type": "ComponentType", "lookup": true}, {"name": "parent", "is_choice": false, "repeated": false, "type": "Component", "lookup": true}, {"name": "parent_rel_pos", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "alias", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "asset_id", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "uri", "is_choice": false, "repeated": false, "type": "Uri", "lookup": true}, {"name": "admin_state", "is_choice": false, "repeated": false, "type": "ComponentAdminState", "lookup": true}]}, {"name": "MetricNames", "type": "enum", "module": "hw_metrics_mgmt_service", "values": {"0": "METRIC_NAME_UNDEFINED", "1": "METRIC_FAN_SPEED", "100": "METRIC_CPU_TEMP", "101": "METRIC_CPU_USAGE_PERCENTAGE", "200": "METRIC_TRANSCEIVER_TEMP", "201": "METRIC_TRANSCEIVER_VOLTAGE", "202": "METRIC_TRANSCEIVER_BIAS", "203": "METRIC_TRANSCEIVER_RX_POWER", "204": "METRIC_TRANSCEIVER_TX_POWER", "205": "METRIC_TRANSCEIVER_WAVELENGTH", "300": "METRIC_DISK_TEMP", "301": "METRIC_DISK_CAPACITY", "302": "METRIC_DISK_USAGE", "303": "METRIC_DISK_USAGE_PERCENTAGE", "304": "METRIC_DISK_READ_WRITE_PERCENTAGE", "305": "METRIC_DISK_FAULTY_CELLS_PERCENTAGE", "400": "METRIC_RAM_TEMP", "401": "METRIC_RAM_CAPACITY", "402": "METRIC_RAM_USAGE", "403": "METRIC_RAM_USAGE_PERCENTAGE", "500": "METRIC_POWER_MAX", "501": "METRIC_POWER_USAGE", "502": "METRIC_POWER_USAGE_PERCENTAGE", "600": "METRIC_INNER_SURROUNDING_TEMP"}}, {"name": "MetricConfig", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "metric_id", "is_choice": false, "repeated": false, "type": "MetricNames", "lookup": true}, {"name": "is_configured", "is_choice": false, "repeated": false, "type": "bool", "lookup": false}, {"name": "poll_interval", "is_choice": false, "repeated": false, "type": "uint32", "lookup": false}]}, {"name": "MetricsConfig", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "metrics", "is_choice": false, "repeated": true, "type": "MetricConfig", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_metrics_mgmt_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR"}}, {"name": "ListMetricsResponse", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "metrics", "is_choice": false, "repeated": false, "type": "MetricsConfig", "lookup": true}]}, {"name": "MetricsConfigurationRequest", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "operation", "is_choice": true, "cases": [{"name": "changes", "type": "MetricsConfig", "lookup": true}, {"name": "reset_to_default", "type": "bool", "lookup": false}]}]}, {"name": "Reason", "type": "enum", "module": "hw_metrics_mgmt_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "POLL_INTERVAL_UNSUPPORTED", "4": "INVALID_METRIC"}}, {"name": "MetricsConfigurationResponse", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "MetricMetaData", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Metric", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "metric_id", "is_choice": false, "repeated": false, "type": "MetricNames", "lookup": true}, {"name": "metric_metadata", "is_choice": false, "repeated": false, "type": "MetricMetaData", "lookup": true}, {"name": "value", "is_choice": false, "repeated": false, "type": "ComponentSensorData", "lookup": true}]}, {"name": "GetMetricRequest", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "meta_data", "is_choice": false, "repeated": false, "type": "MetricMetaData", "lookup": true}, {"name": "metric_id", "is_choice": false, "repeated": false, "type": "MetricNames", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_metrics_mgmt_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "UNKNOWN_COMPONENT", "3": "INTERNAL_ERROR", "4": "INVALID_METRIC"}}, {"name": "GetMetricResponse", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "metric", "is_choice": false, "repeated": false, "type": "Metric", "lookup": true}]}, {"name": "EventIds", "type": "enum", "module": "hw_events_mgmt_service", "values": {"0": "EVENT_NAME_UNDEFINED", "100": "EVENT_TRANSCEIVER_PLUG_OUT", "101": "EVENT_TRANSCEIVER_PLUG_IN", "102": "EVENT_TRANSCEIVER_VOLTAGE_ABOVE_THRESHOLD", "103": "EVENT_TRANSCEIVER_VOLTAGE_BELOW_THRESHOLD", "104": "EVENT_TRANSCEIVER_TEMPERATURE_ABOVE_THRESHOLD", "105": "EVENT_TRANSCEIVER_TEMPERATURE_BELOW_THRESHOLD", "106": "EVENT_TRANSCEIVER_CURRENT_ABOVE_THRESHOLD", "107": "EVENT_TRANSCEIVER_CURRENT_BELOW_THRESHOLD", "108": "EVENT_TRANSCEIVER_RX_POWER_ABOVE_THRESHOLD", "109": "EVENT_TRANSCEIVER_RX_POWER_BELOW_THRESHOLD", "110": "EVENT_TRANSCEIVER_TX_POWER_ABOVE_THRESHOLD", "111": "EVENT_TRANSCEIVER_TX_POWER_BELOW_THRESHOLD", "112": "EVENT_TRANSCEIVER_FAILURE", "113": "EVENT_TRANSCEIVER_VOLTAGE_ABOVE_THRESHOLD_RECOVERED", "114": "EVENT_TRANSCEIVER_VOLTAGE_BELOW_THRESHOLD_RECOVERED", "115": "EVENT_TRANSCEIVER_TEMPERATURE_ABOVE_THRESHOLD_RECOVERED", "116": "EVENT_TRANSCEIVER_TEMPERATURE_BELOW_THRESHOLD_RECOVERED", "117": "EVENT_TRANSCEIVER_CURRENT_ABOVE_THRESHOLD_RECOVERED", "118": "EVENT_TRANSCEIVER_CURRENT_BELOW_THRESHOLD_RECOVERED", "119": "EVENT_TRANSCEIVER_RX_POWER_ABOVE_THRESHOLD_RECOVERED", "120": "EVENT_TRANSCEIVER_RX_POWER_BELOW_THRESHOLD_RECOVERED", "121": "EVENT_TRANSCEIVER_TX_POWER_ABOVE_THRESHOLD_RECOVERED", "122": "EVENT_TRANSCEIVER_TX_POWER_BELOW_THRESHOLD_RECOVERED", "123": "EVENT_TRANSCEIVER_FAILURE_RECOVERED", "200": "EVENT_PSU_PLUG_OUT", "201": "EVENT_PSU_PLUG_IN", "202": "EVENT_PSU_FAILURE", "203": "EVENT_PSU_FAILURE_RECOVERED", "300": "EVENT_FAN_FAILURE", "301": "EVENT_FAN_PLUG_OUT", "302": "EVENT_FAN_PLUG_IN", "303": "EVENT_FAN_FAILURE_RECOVERED", "400": "EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL", "401": "EVENT_CPU_TEMPERATURE_ABOVE_FATAL", "402": "EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL_RECOVERED", "403": "EVENT_CPU_TEMPERATURE_ABOVE_FATAL_RECOVERED", "500": "EVENT_HW_DEVICE_RESET", "501": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL", "502": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL", "503": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL_RECOVERED", "504": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL_RECOVERED"}}, {"name": "ValueType", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "val", "is_choice": true, "cases": [{"name": "int_val", "type": "int64", "lookup": false}, {"name": "uint_val", "type": "uint64", "lookup": false}, {"name": "float_val", "type": "float", "lookup": false}]}]}, {"name": "WaterMarks", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "high", "is_choice": false, "repeated": false, "type": "ValueType", "lookup": true}, {"name": "low", "is_choice": false, "repeated": false, "type": "ValueType", "lookup": true}]}, {"name": "Thresholds", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "threshold", "is_choice": true, "cases": [{"name": "upper", "type": "WaterMarks", "lookup": true}, {"name": "lower", "type": "WaterMarks", "lookup": true}]}]}, {"name": "ThresholdInformation", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "observed_value", "is_choice": false, "repeated": false, "type": "ValueType", "lookup": true}, {"name": "thresholds", "is_choice": false, "repeated": false, "type": "Thresholds", "lookup": true}]}, {"name": "EventCfg", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "event_id", "is_choice": false, "repeated": false, "type": "EventIds", "lookup": true}, {"name": "is_configured", "is_choice": false, "repeated": false, "type": "bool", "lookup": false}, {"name": "thresholds", "is_choice": false, "repeated": false, "type": "Thresholds", "lookup": true}]}, {"name": "EventsCfg", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "items", "is_choice": false, "repeated": true, "type": "EventCfg", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_events_mgmt_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR"}}, {"name": "ListEventsResponse", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "events", "is_choice": false, "repeated": false, "type": "EventsCfg", "lookup": true}]}, {"name": "EventsConfigurationRequest", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "operation", "is_choice": true, "cases": [{"name": "changes", "type": "EventsCfg", "lookup": true}, {"name": "reset_to_default", "type": "bool", "lookup": false}]}]}, {"name": "Reason", "type": "enum", "module": "hw_events_mgmt_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "INVALID_CONFIG"}}, {"name": "EventsConfigurationResponse", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "EventMetaData", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Event", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "event_metadata", "is_choice": false, "repeated": false, "type": "EventMetaData", "lookup": true}, {"name": "event_id", "is_choice": false, "repeated": false, "type": "EventIds", "lookup": true}, {"name": "raised_ts", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "threshold_info", "is_choice": false, "repeated": false, "type": "ThresholdInformation", "lookup": true}, {"name": "add_info", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ImageVersion", "type": "message", "module": "sw_image", "fields": [{"name": "image_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "version", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ImageInformation", "type": "message", "module": "sw_image", "fields": [{"name": "image", "is_choice": false, "repeated": false, "type": "ImageVersion", "lookup": true}, {"name": "image_install_script", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "image_url", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "sha256sum", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ImageState", "type": "enum", "module": "sw_image", "values": {"0": "UNDEFINED_STATE", "1": "COPYING_IMAGE", "2": "INSTALLING_IMAGE", "3": "COMMITTING_IMAGE", "4": "REBOOTING_DEVICE", "5": "UPGRADE_COMPLETE", "6": "UPGRADE_FAILED", "7": "ACTIVATION_COMPLETE", "8": "ACTIVATION_FAILED"}}, {"name": "Reason", "type": "enum", "module": "sw_image", "values": {"0": "UNDEFINED_REASON", "1": "ERROR_IN_REQUEST", "2": "INTERNAL_ERROR", "3": "DEVICE_IN_WRONG_STATE", "4": "INVALID_IMAGE", "5": "WRONG_IMAGE_CHECKSUM", "6": "OPERATION_ALREADY_IN_PROGRESS", "7": "UNKNOWN_DEVICE", "8": "DEVICE_NOT_REACHABLE"}}, {"name": "ImageStatus", "type": "message", "module": "sw_image", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "state", "is_choice": false, "repeated": false, "type": "ImageState", "lookup": true}, {"name": "description", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "PhysicalInventoryRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR"}}, {"name": "PhysicalInventoryResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "inventory", "is_choice": false, "repeated": false, "type": "Hardware", "lookup": true}]}, {"name": "HWComponentInfoGetRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "UNKNOWN_COMPONENT", "3": "INTERNAL_ERROR"}}, {"name": "HWComponentInfoGetResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "component", "is_choice": false, "repeated": false, "type": "Component", "lookup": true}]}, {"name": "HWComponentInfoSetRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "changes", "is_choice": false, "repeated": false, "type": "ModifiableComponent", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "UNKNOWN_COMPONENT", "3": "INVALID_PARAMS", "4": "INTERNAL_ERROR"}}, {"name": "HWComponentInfoSetResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "DEVICE_ALREADY_MANAGED", "2": "OPERATION_ALREADY_IN_PROGRESS", "3": "INVALID_PARAMS", "4": "INTERNAL_ERROR"}}, {"name": "StartManagingDeviceResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "StopManagingDeviceRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE"}}, {"name": "StopManagingDeviceResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "ManagedDevicesResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "devices", "is_choice": false, "repeated": true, "type": "ModifiableComponent", "lookup": true}]}, {"name": "SetLoggingEndpointRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "logging_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "logging_protocol", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "LOGGING_ENDPOINT_ERROR", "4": "LOGGING_ENDPOINT_PROTOCOL_ERROR", "5": "MSGBUS_ENDPOINT_ERROR"}}, {"name": "SetRemoteEndpointResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR"}}, {"name": "GetLoggingEndpointResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "logging_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "logging_protocol", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "SetMsgBusEndpointRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "msgbus_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "INTERNAL_ERROR"}}, {"name": "GetMsgBusEndpointResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "msgbus_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "EntitiesLogLevel", "type": "message", "module": "hw_management_service", "fields": [{"name": "logLevel", "is_choice": false, "repeated": false, "type": "LogLevel", "lookup": true}, {"name": "entities", "is_choice": false, "repeated": true, "type": "string", "lookup": false}]}, {"name": "SetLogLevelRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "loglevels", "is_choice": false, "repeated": true, "type": "EntitiesLogLevel", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "UNKNOWN_LOG_ENTITY"}}, {"name": "SetLogLevelResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "GetLogLevelRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "entities", "is_choice": false, "repeated": true, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "UNKNOWN_LOG_ENTITY"}}, {"name": "GetLogLevelResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "logLevels", "is_choice": false, "repeated": true, "type": "EntitiesLogLevel", "lookup": true}, {"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "GetLoggableEntitiesRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "SoftwareVersionInformation", "type": "message", "module": "sw_management_service", "fields": [{"name": "active_versions", "is_choice": false, "repeated": true, "type": "ImageVersion", "lookup": true}, {"name": "standby_versions", "is_choice": false, "repeated": true, "type": "ImageVersion", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "sw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR"}}, {"name": "GetSoftwareVersionInformationResponse", "type": "message", "module": "sw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "info", "is_choice": false, "repeated": false, "type": "SoftwareVersionInformation", "lookup": true}]}, {"name": "DownloadImageRequest", "type": "message", "module": "sw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "image_info", "is_choice": false, "repeated": false, "type": "ImageInformation", "lookup": true}]}, {"name": "ConfigRequest", "type": "message", "module": "sw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "config_url", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "sw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "ERROR_FETCHING_CONFIG", "4": "INVALID_CONFIG", "5": "OPERATION_ALREADY_IN_PROGRESS"}}, {"name": "ConfigResponse", "type": "message", "module": "sw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}]}, {"name": "StartupConfigInfoRequest", "type": "message", "module": "sw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "sw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR"}}, {"name": "StartupConfigInfoResponse", "type": "message", "module": "sw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "config_url", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "version", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}], "services": [{"name": "NativeMetricsManagementService", "module": "hw_metrics_mgmt_service", "rpcs": [{"name": "ListMetrics", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "ListMetricsResponse", "lookup": true}}, {"name": "UpdateMetricsConfiguration", "request": {"is_stream": false, "type": "MetricsConfigurationRequest", "lookup": true}, "response": {"is_stream": false, "type": "MetricsConfigurationResponse", "lookup": true}}, {"name": "GetMetric", "request": {"is_stream": false, "type": "GetMetricRequest", "lookup": true}, "response": {"is_stream": false, "type": "GetMetricResponse", "lookup": true}}]}, {"name": "NativeEventsManagementService", "module": "hw_events_mgmt_service", "rpcs": [{"name": "ListEvents", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "ListEventsResponse", "lookup": true}}, {"name": "UpdateEventsConfiguration", "request": {"is_stream": false, "type": "EventsConfigurationRequest", "lookup": true}, "response": {"is_stream": false, "type": "EventsConfigurationResponse", "lookup": true}}]}, {"name": "NativeHWManagementService", "module": "hw_management_service", "rpcs": [{"name": "StartManagingDevice", "request": {"is_stream": false, "type": "ModifiableComponent", "lookup": true}, "response": {"is_stream": true, "type": "StartManagingDeviceResponse", "lookup": true}}, {"name": "StopManagingDevice", "request": {"is_stream": false, "type": "StopManagingDeviceRequest", "lookup": true}, "response": {"is_stream": false, "type": "StopManagingDeviceResponse", "lookup": true}}, {"name": "GetManagedDevices", "request": {"is_stream": false, "type": "google.protobuf.Empty", "lookup": false}, "response": {"is_stream": false, "type": "ManagedDevicesResponse", "lookup": true}}, {"name": "GetPhysicalInventory", "request": {"is_stream": false, "type": "PhysicalInventoryRequest", "lookup": true}, "response": {"is_stream": true, "type": "PhysicalInventoryResponse", "lookup": true}}, {"name": "GetHWComponentInfo", "request": {"is_stream": false, "type": "HWComponentInfoGetRequest", "lookup": true}, "response": {"is_stream": true, "type": "HWComponentInfoGetResponse", "lookup": true}}, {"name": "SetHWComponentInfo", "request": {"is_stream": false, "type": "HWComponentInfoSetRequest", "lookup": true}, "response": {"is_stream": false, "type": "HWComponentInfoSetResponse", "lookup": true}}, {"name": "SetLoggingEndpoint", "request": {"is_stream": false, "type": "SetLoggingEndpointRequest", "lookup": true}, "response": {"is_stream": false, "type": "SetRemoteEndpointResponse", "lookup": true}}, {"name": "GetLoggingEndpoint", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "GetLoggingEndpointResponse", "lookup": true}}, {"name": "SetMsgBusEndpoint", "request": {"is_stream": false, "type": "SetMsgBusEndpointRequest", "lookup": true}, "response": {"is_stream": false, "type": "SetRemoteEndpointResponse", "lookup": true}}, {"name": "GetMsgBusEndpoint", "request": {"is_stream": false, "type": "google.protobuf.Empty", "lookup": false}, "response": {"is_stream": false, "type": "GetMsgBusEndpointResponse", "lookup": true}}, {"name": "GetLoggableEntities", "request": {"is_stream": false, "type": "GetLoggableEntitiesRequest", "lookup": true}, "response": {"is_stream": false, "type": "GetLogLevelResponse", "lookup": true}}, {"name": "SetLogLevel", "request": {"is_stream": false, "type": "SetLogLevelRequest", "lookup": true}, "response": {"is_stream": false, "type": "SetLogLevelResponse", "lookup": true}}, {"name": "GetLogLevel", "request": {"is_stream": false, "type": "GetLogLevelRequest", "lookup": true}, "response": {"is_stream": false, "type": "GetLogLevelResponse", "lookup": true}}]}, {"name": "NativeSoftwareManagementService", "module": "sw_management_service", "rpcs": [{"name": "GetSoftwareVersion", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "GetSoftwareVersionInformationResponse", "lookup": true}}, {"name": "DownloadImage", "request": {"is_stream": false, "type": "DownloadImageRequest", "lookup": true}, "response": {"is_stream": true, "type": "ImageStatus", "lookup": true}}, {"name": "ActivateImage", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": true, "type": "ImageStatus", "lookup": true}}, {"name": "RevertToStandbyImage", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": true, "type": "ImageStatus", "lookup": true}}, {"name": "UpdateStartupConfiguration", "request": {"is_stream": false, "type": "ConfigRequest", "lookup": true}, "response": {"is_stream": true, "type": "ConfigResponse", "lookup": true}}, {"name": "GetStartupConfigurationInfo", "request": {"is_stream": false, "type": "StartupConfigInfoRequest", "lookup": true}, "response": {"is_stream": false, "type": "StartupConfigInfoResponse", "lookup": true}}]}]}
\ No newline at end of file
diff --git a/grpc_robot/services/dmi/dmi_1_0_0/__init__.py b/grpc_robot/services/dmi/dmi_1_0_0/__init__.py
new file mode 100644
index 0000000..d03333b
--- /dev/null
+++ b/grpc_robot/services/dmi/dmi_1_0_0/__init__.py
@@ -0,0 +1,17 @@
+# Copyright 2020-present Open Networking Foundation
+# Original copyright 2020-present ADTRAN, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+from ..dmi_0_9_8.sw_management_service import *
+from .hw_events_mgmt_service import *
+from .hw_management_service import *
+from .hw_metrics_mgmt_service import *
diff --git a/grpc_robot/services/dmi/dmi_1_0_0/dmi.json b/grpc_robot/services/dmi/dmi_1_0_0/dmi.json
new file mode 100644
index 0000000..d4bbb96
--- /dev/null
+++ b/grpc_robot/services/dmi/dmi_1_0_0/dmi.json
@@ -0,0 +1 @@
+{"modules": [{"name": "commons", "imports": []}, {"name": "hw", "imports": ["timestamp"]}, {"name": "hw_metrics_mgmt_service", "imports": ["commons", "hw", "empty"]}, {"name": "hw_events_mgmt_service", "imports": ["commons", "hw", "timestamp", "empty"]}, {"name": "sw_image", "imports": ["commons"]}, {"name": "hw_management_service", "imports": ["commons", "hw", "empty"]}, {"name": "sw_management_service", "imports": ["commons", "hw", "sw_image"]}], "data_types": [{"name": "Status", "type": "enum", "module": "commons", "values": {"0": "UNDEFINED_STATUS", "1": "OK_STATUS", "2": "ERROR_STATUS"}}, {"name": "LogLevel", "type": "enum", "module": "commons", "values": {"0": "TRACE", "1": "DEBUG", "2": "INFO", "3": "WARN", "4": "ERROR"}}, {"name": "Uuid", "type": "message", "module": "hw", "fields": [{"name": "uuid", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "HardwareID", "type": "message", "module": "hw", "fields": [{"name": "uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "Uri", "type": "message", "module": "hw", "fields": [{"name": "uri", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ComponentType", "type": "enum", "module": "hw", "values": {"0": "COMPONENT_TYPE_UNDEFINED", "1": "COMPONENT_TYPE_UNKNOWN", "2": "COMPONENT_TYPE_CHASSIS", "3": "COMPONENT_TYPE_BACKPLANE", "4": "COMPONENT_TYPE_CONTAINER", "5": "COMPONENT_TYPE_POWER_SUPPLY", "6": "COMPONENT_TYPE_FAN", "7": "COMPONENT_TYPE_SENSOR", "8": "COMPONENT_TYPE_MODULE", "9": "COMPONENT_TYPE_PORT", "10": "COMPONENT_TYPE_CPU", "11": "COMPONENT_TYPE_BATTERY", "12": "COMPONENT_TYPE_STORAGE", "13": "COMPONENT_TYPE_MEMORY", "14": "COMPONENT_TYPE_TRANSCEIVER"}}, {"name": "ComponentAdminState", "type": "enum", "module": "hw", "values": {"0": "COMP_ADMIN_STATE_UNDEFINED", "1": "COMP_ADMIN_STATE_UNKNOWN", "2": "COMP_ADMIN_STATE_LOCKED", "3": "COMP_ADMIN_STATE_SHUTTING_DOWN", "4": "COMP_ADMIN_STATE_UNLOCKED"}}, {"name": "ComponentOperState", "type": "enum", "module": "hw", "values": {"0": "COMP_OPER_STATE_UNDEFINED", "1": "COMP_OPER_STATE_UNKNOWN", "2": "COMP_OPER_STATE_DISABLED", "3": "COMP_OPER_STATE_ENABLED", "4": "COMP_OPER_STATE_TESTING"}}, {"name": "ComponentUsageState", "type": "enum", "module": "hw", "values": {"0": "COMP_USAGE_STATE_UNDEFINED", "1": "COMP_USAGE_STATE_UNKNOWN", "2": "COMP_USAGE_STATE_IDLE", "3": "COMP_USAGE_STATE_ACTIVE", "4": "COMP_USAGE_STATE_BUSY"}}, {"name": "ComponentAlarmState", "type": "enum", "module": "hw", "values": {"0": "COMP_ALARM_STATE_UNDEFINED", "1": "COMP_ALARM_STATE_UNKNOWN", "2": "COMP_ALARM_STATE_UNDER_REPAIR", "3": "COMP_ALARM_STATE_CRITICAL", "4": "COMP_ALARM_STATE_MAJOR", "5": "COMP_ALARM_STATE_MINOR", "6": "COMP_ALARM_STATE_WARNING", "7": "COMP_ALARM_STATE_INDETERMINATE"}}, {"name": "ComponentStandbyState", "type": "enum", "module": "hw", "values": {"0": "COMP_STANDBY_STATE_UNDEFINED", "1": "COMP_STANDBY_STATE_UNKNOWN", "2": "COMP_STANDBY_STATE_HOT", "3": "COMP_STANDBY_STATE_COLD", "4": "COMP_STANDBY_STATE_PROVIDING_SERVICE"}}, {"name": "ComponentState", "type": "message", "module": "hw", "fields": [{"name": "state_last_changed", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "admin_state", "is_choice": false, "repeated": false, "type": "ComponentAdminState", "lookup": true}, {"name": "oper_state", "is_choice": false, "repeated": false, "type": "ComponentOperState", "lookup": true}, {"name": "usage_state", "is_choice": false, "repeated": false, "type": "ComponentUsageState", "lookup": true}, {"name": "alarm_state", "is_choice": false, "repeated": false, "type": "ComponentAlarmState", "lookup": true}, {"name": "standby_state", "is_choice": false, "repeated": false, "type": "ComponentStandbyState", "lookup": true}]}, {"name": "DataValueType", "type": "enum", "module": "hw", "values": {"0": "VALUE_TYPE_UNDEFINED", "1": "VALUE_TYPE_OTHER", "2": "VALUE_TYPE_UNKNOWN", "3": "VALUE_TYPE_VOLTS_AC", "4": "VALUE_TYPE_VOLTS_DC", "5": "VALUE_TYPE_AMPERES", "6": "VALUE_TYPE_WATTS", "7": "VALUE_TYPE_HERTZ", "8": "VALUE_TYPE_CELSIUS", "9": "VALUE_TYPE_PERCENT_RH", "10": "VALUE_TYPE_RPM", "11": "VALUE_TYPE_CMM", "12": "VALUE_TYPE_TRUTH_VALUE", "13": "VALUE_TYPE_PERCENT", "14": "VALUE_TYPE_METERS", "15": "VALUE_TYPE_BYTES"}}, {"name": "ValueScale", "type": "enum", "module": "hw", "values": {"0": "VALUE_SCALE_UNDEFINED", "1": "VALUE_SCALE_YOCTO", "2": "VALUE_SCALE_ZEPTO", "3": "VALUE_SCALE_ATTO", "4": "VALUE_SCALE_FEMTO", "5": "VALUE_SCALE_PICO", "6": "VALUE_SCALE_NANO", "7": "VALUE_SCALE_MICRO", "8": "VALUE_SCALE_MILLI", "9": "VALUE_SCALE_UNITS", "10": "VALUE_SCALE_KILO", "11": "VALUE_SCALE_MEGA", "12": "VALUE_SCALE_GIGA", "13": "VALUE_SCALE_TERA", "14": "VALUE_SCALE_PETA", "15": "VALUE_SCALE_EXA", "16": "VALUE_SCALE_ZETTA", "17": "VALUE_SCALE_YOTTA"}}, {"name": "SensorStatus", "type": "enum", "module": "hw", "values": {"0": "SENSOR_STATUS_UNDEFINED", "1": "SENSOR_STATUS_OK", "2": "SENSOR_STATUS_UNAVAILABLE", "3": "SENSOR_STATUS_NONOPERATIONAL"}}, {"name": "ComponentSensorData", "type": "message", "module": "hw", "fields": [{"name": "value", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "type", "is_choice": false, "repeated": false, "type": "DataValueType", "lookup": true}, {"name": "scale", "is_choice": false, "repeated": false, "type": "ValueScale", "lookup": true}, {"name": "precision", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "status", "is_choice": false, "repeated": false, "type": "SensorStatus", "lookup": true}, {"name": "units_display", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "timestamp", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "value_update_rate", "is_choice": false, "repeated": false, "type": "uint32", "lookup": false}, {"name": "data_type", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ConnectorType", "type": "enum", "module": "hw", "values": {"0": "CONNECTOR_TYPE_UNDEFINED", "1": "RJ45", "2": "FIBER_LC", "3": "FIBER_SC_PC", "4": "FIBER_MPO", "5": "RS232"}}, {"name": "Speed", "type": "enum", "module": "hw", "values": {"0": "SPEED_UNDEFINED", "1": "DYNAMIC", "2": "GIGABIT_1", "3": "GIGABIT_10", "4": "GIGABIT_25", "5": "GIGABIT_40", "6": "GIGABIT_100", "7": "GIGABIT_400", "8": "MEGABIT_2500", "9": "MEGABIT_1250"}}, {"name": "Protocol", "type": "enum", "module": "hw", "values": {"0": "PROTOCOL_UNDEFINED", "1": "ETHERNET", "2": "GPON", "3": "XGPON", "4": "XGSPON", "5": "GFAST", "6": "SERIAL", "7": "EPON", "8": "BITS"}}, {"name": "PortComponentAttributes", "type": "message", "module": "hw", "fields": [{"name": "connector_type", "is_choice": false, "repeated": false, "type": "ConnectorType", "lookup": true}, {"name": "speed", "is_choice": false, "repeated": false, "type": "Speed", "lookup": true}, {"name": "protocol", "is_choice": false, "repeated": false, "type": "Protocol", "lookup": true}, {"name": "physical_label", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ContainerComponentAttributes", "type": "message", "module": "hw", "fields": [{"name": "physical_label", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "SupportedVoltage", "type": "enum", "module": "hw", "values": {"0": "SUPPORTED_VOLTAGE_UNDEFINED", "1": "V48", "2": "V230", "3": "V115"}}, {"name": "PsuComponentAttributes", "type": "message", "module": "hw", "fields": [{"name": "supported_voltage", "is_choice": false, "repeated": false, "type": "SupportedVoltage", "lookup": true}]}, {"name": "FormFactor", "type": "enum", "module": "hw", "values": {"0": "FORM_FACTOR_UNKNOWN", "1": "QSFP", "2": "QSFP_PLUS", "3": "QSFP28", "4": "SFP", "5": "SFP_PLUS", "6": "XFP", "7": "CFP4", "8": "CFP2", "9": "CPAK", "10": "X2", "11": "OTHER", "12": "CFP", "13": "CFP2_ACO", "14": "CFP2_DCO"}}, {"name": "Type", "type": "enum", "module": "hw", "values": {"0": "TYPE_UNKNOWN", "1": "ETHERNET", "2": "GPON", "3": "XGPON", "4": "XGSPON", "5": "CPON", "6": "NG_PON2", "7": "EPON"}}, {"name": "TransceiverComponentsAttributes", "type": "message", "module": "hw", "fields": [{"name": "form_factor", "is_choice": false, "repeated": false, "type": "FormFactor", "lookup": true}, {"name": "trans_type", "is_choice": false, "repeated": false, "type": "Type", "lookup": true}, {"name": "max_distance", "is_choice": false, "repeated": false, "type": "uint32", "lookup": false}, {"name": "max_distance_scale", "is_choice": false, "repeated": false, "type": "ValueScale", "lookup": true}, {"name": "rx_wavelength", "is_choice": false, "repeated": true, "type": "uint32", "lookup": false}, {"name": "tx_wavelength", "is_choice": false, "repeated": true, "type": "uint32", "lookup": false}, {"name": "wavelength_scale", "is_choice": false, "repeated": false, "type": "ValueScale", "lookup": true}]}, {"name": "Component", "type": "message", "module": "hw", "fields": [{"name": "name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "class", "is_choice": false, "repeated": false, "type": "ComponentType", "lookup": true}, {"name": "description", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "parent", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "parent_rel_pos", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "children", "is_choice": false, "repeated": true, "type": "Component", "lookup": true}, {"name": "hardware_rev", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "firmware_rev", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "software_rev", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "serial_num", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "mfg_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "model_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "alias", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "asset_id", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "is_fru", "is_choice": false, "repeated": false, "type": "bool", "lookup": false}, {"name": "mfg_date", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "uri", "is_choice": false, "repeated": false, "type": "Uri", "lookup": true}, {"name": "uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "state", "is_choice": false, "repeated": false, "type": "ComponentState", "lookup": true}, {"name": "sensor_data", "is_choice": false, "repeated": true, "type": "ComponentSensorData", "lookup": true}, {"name": "specific", "is_choice": true, "cases": [{"name": "port_attr", "type": "PortComponentAttributes", "lookup": true}, {"name": "container_attr", "type": "ContainerComponentAttributes", "lookup": true}, {"name": "psu_attr", "type": "PsuComponentAttributes", "lookup": true}, {"name": "transceiver_attr", "type": "TransceiverComponentsAttributes", "lookup": true}]}]}, {"name": "Hardware", "type": "message", "module": "hw", "fields": [{"name": "last_change", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "root", "is_choice": false, "repeated": false, "type": "Component", "lookup": true}, {"name": "last_booted", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}]}, {"name": "ModifiableComponent", "type": "message", "module": "hw", "fields": [{"name": "name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "class", "is_choice": false, "repeated": false, "type": "ComponentType", "lookup": true}, {"name": "parent", "is_choice": false, "repeated": false, "type": "Component", "lookup": true}, {"name": "parent_rel_pos", "is_choice": false, "repeated": false, "type": "int32", "lookup": false}, {"name": "alias", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "asset_id", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "uri", "is_choice": false, "repeated": false, "type": "Uri", "lookup": true}, {"name": "admin_state", "is_choice": false, "repeated": false, "type": "ComponentAdminState", "lookup": true}]}, {"name": "MetricNames", "type": "enum", "module": "hw_metrics_mgmt_service", "values": {"0": "METRIC_NAME_UNDEFINED", "1": "METRIC_FAN_SPEED", "100": "METRIC_CPU_TEMP", "101": "METRIC_CPU_USAGE_PERCENTAGE", "200": "METRIC_TRANSCEIVER_TEMP", "201": "METRIC_TRANSCEIVER_VOLTAGE", "202": "METRIC_TRANSCEIVER_BIAS", "203": "METRIC_TRANSCEIVER_RX_POWER", "204": "METRIC_TRANSCEIVER_TX_POWER", "205": "METRIC_TRANSCEIVER_WAVELENGTH", "300": "METRIC_DISK_TEMP", "301": "METRIC_DISK_CAPACITY", "302": "METRIC_DISK_USAGE", "303": "METRIC_DISK_USAGE_PERCENTAGE", "304": "METRIC_DISK_READ_WRITE_PERCENTAGE", "305": "METRIC_DISK_FAULTY_CELLS_PERCENTAGE", "400": "METRIC_RAM_TEMP", "401": "METRIC_RAM_CAPACITY", "402": "METRIC_RAM_USAGE", "403": "METRIC_RAM_USAGE_PERCENTAGE", "500": "METRIC_POWER_MAX", "501": "METRIC_POWER_USAGE", "502": "METRIC_POWER_USAGE_PERCENTAGE", "600": "METRIC_INNER_SURROUNDING_TEMP"}}, {"name": "MetricConfig", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "metric_id", "is_choice": false, "repeated": false, "type": "MetricNames", "lookup": true}, {"name": "is_configured", "is_choice": false, "repeated": false, "type": "bool", "lookup": false}, {"name": "poll_interval", "is_choice": false, "repeated": false, "type": "uint32", "lookup": false}]}, {"name": "MetricsConfig", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "metrics", "is_choice": false, "repeated": true, "type": "MetricConfig", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_metrics_mgmt_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "DEVICE_UNREACHABLE"}}, {"name": "ListMetricsResponse", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "metrics", "is_choice": false, "repeated": false, "type": "MetricsConfig", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "MetricsConfigurationRequest", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "operation", "is_choice": true, "cases": [{"name": "changes", "type": "MetricsConfig", "lookup": true}, {"name": "reset_to_default", "type": "bool", "lookup": false}]}]}, {"name": "Reason", "type": "enum", "module": "hw_metrics_mgmt_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "POLL_INTERVAL_UNSUPPORTED", "4": "INVALID_METRIC", "5": "DEVICE_UNREACHABLE"}}, {"name": "MetricsConfigurationResponse", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "MetricMetaData", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Metric", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "metric_id", "is_choice": false, "repeated": false, "type": "MetricNames", "lookup": true}, {"name": "metric_metadata", "is_choice": false, "repeated": false, "type": "MetricMetaData", "lookup": true}, {"name": "value", "is_choice": false, "repeated": false, "type": "ComponentSensorData", "lookup": true}]}, {"name": "GetMetricRequest", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "meta_data", "is_choice": false, "repeated": false, "type": "MetricMetaData", "lookup": true}, {"name": "metric_id", "is_choice": false, "repeated": false, "type": "MetricNames", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_metrics_mgmt_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "UNKNOWN_COMPONENT", "3": "INTERNAL_ERROR", "4": "INVALID_METRIC", "5": "DEVICE_UNREACHABLE"}}, {"name": "GetMetricResponse", "type": "message", "module": "hw_metrics_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "metric", "is_choice": false, "repeated": false, "type": "Metric", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "EventIds", "type": "enum", "module": "hw_events_mgmt_service", "values": {"0": "EVENT_NAME_UNDEFINED", "100": "EVENT_TRANSCEIVER_PLUG_OUT", "101": "EVENT_TRANSCEIVER_PLUG_IN", "102": "EVENT_TRANSCEIVER_VOLTAGE_ABOVE_THRESHOLD", "103": "EVENT_TRANSCEIVER_VOLTAGE_BELOW_THRESHOLD", "104": "EVENT_TRANSCEIVER_TEMPERATURE_ABOVE_THRESHOLD", "105": "EVENT_TRANSCEIVER_TEMPERATURE_BELOW_THRESHOLD", "106": "EVENT_TRANSCEIVER_CURRENT_ABOVE_THRESHOLD", "107": "EVENT_TRANSCEIVER_CURRENT_BELOW_THRESHOLD", "108": "EVENT_TRANSCEIVER_RX_POWER_ABOVE_THRESHOLD", "109": "EVENT_TRANSCEIVER_RX_POWER_BELOW_THRESHOLD", "110": "EVENT_TRANSCEIVER_TX_POWER_ABOVE_THRESHOLD", "111": "EVENT_TRANSCEIVER_TX_POWER_BELOW_THRESHOLD", "112": "EVENT_TRANSCEIVER_FAILURE", "113": "EVENT_TRANSCEIVER_VOLTAGE_ABOVE_THRESHOLD_RECOVERED", "114": "EVENT_TRANSCEIVER_VOLTAGE_BELOW_THRESHOLD_RECOVERED", "115": "EVENT_TRANSCEIVER_TEMPERATURE_ABOVE_THRESHOLD_RECOVERED", "116": "EVENT_TRANSCEIVER_TEMPERATURE_BELOW_THRESHOLD_RECOVERED", "117": "EVENT_TRANSCEIVER_CURRENT_ABOVE_THRESHOLD_RECOVERED", "118": "EVENT_TRANSCEIVER_CURRENT_BELOW_THRESHOLD_RECOVERED", "119": "EVENT_TRANSCEIVER_RX_POWER_ABOVE_THRESHOLD_RECOVERED", "120": "EVENT_TRANSCEIVER_RX_POWER_BELOW_THRESHOLD_RECOVERED", "121": "EVENT_TRANSCEIVER_TX_POWER_ABOVE_THRESHOLD_RECOVERED", "122": "EVENT_TRANSCEIVER_TX_POWER_BELOW_THRESHOLD_RECOVERED", "123": "EVENT_TRANSCEIVER_FAILURE_RECOVERED", "200": "EVENT_PSU_PLUG_OUT", "201": "EVENT_PSU_PLUG_IN", "202": "EVENT_PSU_FAILURE", "203": "EVENT_PSU_FAILURE_RECOVERED", "300": "EVENT_FAN_FAILURE", "301": "EVENT_FAN_PLUG_OUT", "302": "EVENT_FAN_PLUG_IN", "303": "EVENT_FAN_FAILURE_RECOVERED", "400": "EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL", "401": "EVENT_CPU_TEMPERATURE_ABOVE_FATAL", "402": "EVENT_CPU_TEMPERATURE_ABOVE_CRITICAL_RECOVERED", "403": "EVENT_CPU_TEMPERATURE_ABOVE_FATAL_RECOVERED", "500": "EVENT_HW_DEVICE_RESET", "501": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL", "502": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL", "503": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL_RECOVERED", "504": "EVENT_HW_DEVICE_TEMPERATURE_ABOVE_FATAL_RECOVERED", "505": "EVENT_HW_DEVICE_REBOOT"}}, {"name": "ValueType", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "val", "is_choice": true, "cases": [{"name": "int_val", "type": "int64", "lookup": false}, {"name": "uint_val", "type": "uint64", "lookup": false}, {"name": "float_val", "type": "float", "lookup": false}]}]}, {"name": "WaterMarks", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "high", "is_choice": false, "repeated": false, "type": "ValueType", "lookup": true}, {"name": "low", "is_choice": false, "repeated": false, "type": "ValueType", "lookup": true}]}, {"name": "Thresholds", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "threshold", "is_choice": true, "cases": [{"name": "upper", "type": "WaterMarks", "lookup": true}, {"name": "lower", "type": "WaterMarks", "lookup": true}]}]}, {"name": "ThresholdInformation", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "observed_value", "is_choice": false, "repeated": false, "type": "ValueType", "lookup": true}, {"name": "thresholds", "is_choice": false, "repeated": false, "type": "Thresholds", "lookup": true}]}, {"name": "EventCfg", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "event_id", "is_choice": false, "repeated": false, "type": "EventIds", "lookup": true}, {"name": "is_configured", "is_choice": false, "repeated": false, "type": "bool", "lookup": false}, {"name": "thresholds", "is_choice": false, "repeated": false, "type": "Thresholds", "lookup": true}]}, {"name": "EventsCfg", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "items", "is_choice": false, "repeated": true, "type": "EventCfg", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_events_mgmt_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "DEVICE_UNREACHABLE"}}, {"name": "ListEventsResponse", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "events", "is_choice": false, "repeated": false, "type": "EventsCfg", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "EventsConfigurationRequest", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "operation", "is_choice": true, "cases": [{"name": "changes", "type": "EventsCfg", "lookup": true}, {"name": "reset_to_default", "type": "bool", "lookup": false}]}]}, {"name": "Reason", "type": "enum", "module": "hw_events_mgmt_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "INVALID_CONFIG", "4": "DEVICE_UNREACHABLE"}}, {"name": "EventsConfigurationResponse", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "EventMetaData", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Event", "type": "message", "module": "hw_events_mgmt_service", "fields": [{"name": "event_metadata", "is_choice": false, "repeated": false, "type": "EventMetaData", "lookup": true}, {"name": "event_id", "is_choice": false, "repeated": false, "type": "EventIds", "lookup": true}, {"name": "raised_ts", "is_choice": false, "repeated": false, "type": "google.protobuf.Timestamp", "lookup": true}, {"name": "threshold_info", "is_choice": false, "repeated": false, "type": "ThresholdInformation", "lookup": true}, {"name": "add_info", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ImageVersion", "type": "message", "module": "sw_image", "fields": [{"name": "image_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "version", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ImageInformation", "type": "message", "module": "sw_image", "fields": [{"name": "image", "is_choice": false, "repeated": false, "type": "ImageVersion", "lookup": true}, {"name": "image_install_script", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "image_url", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "sha256sum", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ImageState", "type": "enum", "module": "sw_image", "values": {"0": "UNDEFINED_STATE", "1": "COPYING_IMAGE", "2": "INSTALLING_IMAGE", "3": "COMMITTING_IMAGE", "4": "REBOOTING_DEVICE", "5": "UPGRADE_COMPLETE", "6": "UPGRADE_FAILED", "7": "ACTIVATION_COMPLETE", "8": "ACTIVATION_FAILED"}}, {"name": "Reason", "type": "enum", "module": "sw_image", "values": {"0": "UNDEFINED_REASON", "1": "ERROR_IN_REQUEST", "2": "INTERNAL_ERROR", "3": "DEVICE_IN_WRONG_STATE", "4": "INVALID_IMAGE", "5": "WRONG_IMAGE_CHECKSUM", "6": "OPERATION_ALREADY_IN_PROGRESS", "7": "UNKNOWN_DEVICE", "8": "DEVICE_NOT_REACHABLE"}}, {"name": "ImageStatus", "type": "message", "module": "sw_image", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "state", "is_choice": false, "repeated": false, "type": "ImageState", "lookup": true}, {"name": "description", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "PhysicalInventoryRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "DEVICE_UNREACHABLE"}}, {"name": "PhysicalInventoryResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "inventory", "is_choice": false, "repeated": false, "type": "Hardware", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "HWComponentInfoGetRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "UNKNOWN_COMPONENT", "3": "INTERNAL_ERROR", "4": "DEVICE_UNREACHABLE"}}, {"name": "HWComponentInfoGetResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "component", "is_choice": false, "repeated": false, "type": "Component", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "HWComponentInfoSetRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "component_name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "changes", "is_choice": false, "repeated": false, "type": "ModifiableComponent", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "UNKNOWN_COMPONENT", "3": "INVALID_PARAMS", "4": "INTERNAL_ERROR", "5": "DEVICE_UNREACHABLE"}}, {"name": "HWComponentInfoSetResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "DEVICE_ALREADY_MANAGED", "2": "OPERATION_ALREADY_IN_PROGRESS", "3": "INVALID_PARAMS", "4": "INTERNAL_ERROR", "5": "AUTHENTICATION_FAILURE", "6": "INCOMPATIBLE_DEVICE"}}, {"name": "StartManagingDeviceResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "StopManagingDeviceRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "name", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE"}}, {"name": "StopManagingDeviceResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "ManagedDeviceInfo", "type": "message", "module": "hw_management_service", "fields": [{"name": "info", "is_choice": false, "repeated": false, "type": "ModifiableComponent", "lookup": true}, {"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "INTERNAL_ERROR"}}, {"name": "ManagedDevicesResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "devices", "is_choice": false, "repeated": true, "type": "ManagedDeviceInfo", "lookup": true}]}, {"name": "SetLoggingEndpointRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "logging_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "logging_protocol", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "LOGGING_ENDPOINT_ERROR", "4": "LOGGING_ENDPOINT_PROTOCOL_ERROR", "5": "MSGBUS_ENDPOINT_ERROR", "6": "DEVICE_UNREACHABLE"}}, {"name": "SetRemoteEndpointResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "DEVICE_UNREACHABLE"}}, {"name": "GetLoggingEndpointResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "logging_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "logging_protocol", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "SetMsgBusEndpointRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "msgbus_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "INTERNAL_ERROR", "2": "DEVICE_UNREACHABLE"}}, {"name": "GetMsgBusEndpointResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "msgbus_endpoint", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "EntitiesLogLevel", "type": "message", "module": "hw_management_service", "fields": [{"name": "logLevel", "is_choice": false, "repeated": false, "type": "LogLevel", "lookup": true}, {"name": "entities", "is_choice": false, "repeated": true, "type": "string", "lookup": false}]}, {"name": "SetLogLevelRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "loglevels", "is_choice": false, "repeated": true, "type": "EntitiesLogLevel", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "UNKNOWN_LOG_ENTITY", "4": "DEVICE_UNREACHABLE"}}, {"name": "SetLogLevelResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "GetLogLevelRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "entities", "is_choice": false, "repeated": true, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "UNKNOWN_LOG_ENTITY", "4": "DEVICE_UNREACHABLE"}}, {"name": "GetLogLevelResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "logLevels", "is_choice": false, "repeated": true, "type": "EntitiesLogLevel", "lookup": true}, {"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "GetLoggableEntitiesRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "Heartbeat", "type": "message", "module": "hw_management_service", "fields": [{"name": "heartbeat_signature", "is_choice": false, "repeated": false, "type": "fixed32", "lookup": false}]}, {"name": "RebootDeviceRequest", "type": "message", "module": "hw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "hw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "DEVICE_UNREACHABLE"}}, {"name": "RebootDeviceResponse", "type": "message", "module": "hw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "SoftwareVersionInformation", "type": "message", "module": "sw_management_service", "fields": [{"name": "active_versions", "is_choice": false, "repeated": true, "type": "ImageVersion", "lookup": true}, {"name": "standby_versions", "is_choice": false, "repeated": true, "type": "ImageVersion", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "sw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "DEVICE_UNREACHABLE"}}, {"name": "GetSoftwareVersionInformationResponse", "type": "message", "module": "sw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "info", "is_choice": false, "repeated": false, "type": "SoftwareVersionInformation", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "DownloadImageRequest", "type": "message", "module": "sw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "image_info", "is_choice": false, "repeated": false, "type": "ImageInformation", "lookup": true}]}, {"name": "ConfigRequest", "type": "message", "module": "sw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}, {"name": "config_url", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "Reason", "type": "enum", "module": "sw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "ERROR_FETCHING_CONFIG", "4": "INVALID_CONFIG", "5": "OPERATION_ALREADY_IN_PROGRESS", "6": "DEVICE_UNREACHABLE"}}, {"name": "ConfigResponse", "type": "message", "module": "sw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}, {"name": "StartupConfigInfoRequest", "type": "message", "module": "sw_management_service", "fields": [{"name": "device_uuid", "is_choice": false, "repeated": false, "type": "Uuid", "lookup": true}]}, {"name": "Reason", "type": "enum", "module": "sw_management_service", "values": {"0": "UNDEFINED_REASON", "1": "UNKNOWN_DEVICE", "2": "INTERNAL_ERROR", "3": "DEVICE_UNREACHABLE"}}, {"name": "StartupConfigInfoResponse", "type": "message", "module": "sw_management_service", "fields": [{"name": "status", "is_choice": false, "repeated": false, "type": "Status", "lookup": true}, {"name": "reason", "is_choice": false, "repeated": false, "type": "Reason", "lookup": true}, {"name": "config_url", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "version", "is_choice": false, "repeated": false, "type": "string", "lookup": false}, {"name": "reason_detail", "is_choice": false, "repeated": false, "type": "string", "lookup": false}]}], "services": [{"name": "NativeMetricsManagementService", "module": "hw_metrics_mgmt_service", "rpcs": [{"name": "ListMetrics", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "ListMetricsResponse", "lookup": true}}, {"name": "UpdateMetricsConfiguration", "request": {"is_stream": false, "type": "MetricsConfigurationRequest", "lookup": true}, "response": {"is_stream": false, "type": "MetricsConfigurationResponse", "lookup": true}}, {"name": "GetMetric", "request": {"is_stream": false, "type": "GetMetricRequest", "lookup": true}, "response": {"is_stream": false, "type": "GetMetricResponse", "lookup": true}}, {"name": "StreamMetrics", "request": {"is_stream": false, "type": "google.protobuf.Empty", "lookup": false}, "response": {"is_stream": true, "type": "Metric", "lookup": true}}]}, {"name": "NativeEventsManagementService", "module": "hw_events_mgmt_service", "rpcs": [{"name": "ListEvents", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "ListEventsResponse", "lookup": true}}, {"name": "UpdateEventsConfiguration", "request": {"is_stream": false, "type": "EventsConfigurationRequest", "lookup": true}, "response": {"is_stream": false, "type": "EventsConfigurationResponse", "lookup": true}}, {"name": "StreamEvents", "request": {"is_stream": false, "type": "google.protobuf.Empty", "lookup": false}, "response": {"is_stream": true, "type": "Event", "lookup": true}}]}, {"name": "NativeHWManagementService", "module": "hw_management_service", "rpcs": [{"name": "StartManagingDevice", "request": {"is_stream": false, "type": "ModifiableComponent", "lookup": true}, "response": {"is_stream": true, "type": "StartManagingDeviceResponse", "lookup": true}}, {"name": "StopManagingDevice", "request": {"is_stream": false, "type": "StopManagingDeviceRequest", "lookup": true}, "response": {"is_stream": false, "type": "StopManagingDeviceResponse", "lookup": true}}, {"name": "GetManagedDevices", "request": {"is_stream": false, "type": "google.protobuf.Empty", "lookup": false}, "response": {"is_stream": false, "type": "ManagedDevicesResponse", "lookup": true}}, {"name": "GetPhysicalInventory", "request": {"is_stream": false, "type": "PhysicalInventoryRequest", "lookup": true}, "response": {"is_stream": true, "type": "PhysicalInventoryResponse", "lookup": true}}, {"name": "GetHWComponentInfo", "request": {"is_stream": false, "type": "HWComponentInfoGetRequest", "lookup": true}, "response": {"is_stream": true, "type": "HWComponentInfoGetResponse", "lookup": true}}, {"name": "SetHWComponentInfo", "request": {"is_stream": false, "type": "HWComponentInfoSetRequest", "lookup": true}, "response": {"is_stream": false, "type": "HWComponentInfoSetResponse", "lookup": true}}, {"name": "SetLoggingEndpoint", "request": {"is_stream": false, "type": "SetLoggingEndpointRequest", "lookup": true}, "response": {"is_stream": false, "type": "SetRemoteEndpointResponse", "lookup": true}}, {"name": "GetLoggingEndpoint", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "GetLoggingEndpointResponse", "lookup": true}}, {"name": "SetMsgBusEndpoint", "request": {"is_stream": false, "type": "SetMsgBusEndpointRequest", "lookup": true}, "response": {"is_stream": false, "type": "SetRemoteEndpointResponse", "lookup": true}}, {"name": "GetMsgBusEndpoint", "request": {"is_stream": false, "type": "google.protobuf.Empty", "lookup": false}, "response": {"is_stream": false, "type": "GetMsgBusEndpointResponse", "lookup": true}}, {"name": "GetLoggableEntities", "request": {"is_stream": false, "type": "GetLoggableEntitiesRequest", "lookup": true}, "response": {"is_stream": false, "type": "GetLogLevelResponse", "lookup": true}}, {"name": "SetLogLevel", "request": {"is_stream": false, "type": "SetLogLevelRequest", "lookup": true}, "response": {"is_stream": false, "type": "SetLogLevelResponse", "lookup": true}}, {"name": "GetLogLevel", "request": {"is_stream": false, "type": "GetLogLevelRequest", "lookup": true}, "response": {"is_stream": false, "type": "GetLogLevelResponse", "lookup": true}}, {"name": "HeartbeatCheck", "request": {"is_stream": false, "type": "google.protobuf.Empty", "lookup": false}, "response": {"is_stream": false, "type": "Heartbeat", "lookup": true}}, {"name": "RebootDevice", "request": {"is_stream": false, "type": "RebootDeviceRequest", "lookup": true}, "response": {"is_stream": false, "type": "RebootDeviceResponse", "lookup": true}}]}, {"name": "NativeSoftwareManagementService", "module": "sw_management_service", "rpcs": [{"name": "GetSoftwareVersion", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": false, "type": "GetSoftwareVersionInformationResponse", "lookup": true}}, {"name": "DownloadImage", "request": {"is_stream": false, "type": "DownloadImageRequest", "lookup": true}, "response": {"is_stream": true, "type": "ImageStatus", "lookup": true}}, {"name": "ActivateImage", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": true, "type": "ImageStatus", "lookup": true}}, {"name": "RevertToStandbyImage", "request": {"is_stream": false, "type": "HardwareID", "lookup": true}, "response": {"is_stream": true, "type": "ImageStatus", "lookup": true}}, {"name": "UpdateStartupConfiguration", "request": {"is_stream": false, "type": "ConfigRequest", "lookup": true}, "response": {"is_stream": true, "type": "ConfigResponse", "lookup": true}}, {"name": "GetStartupConfigurationInfo", "request": {"is_stream": false, "type": "StartupConfigInfoRequest", "lookup": true}, "response": {"is_stream": false, "type": "StartupConfigInfoResponse", "lookup": true}}]}]}
\ No newline at end of file
diff --git a/grpc_robot/services/dmi/dmi_1_0_0/hw_events_mgmt_service.py b/grpc_robot/services/dmi/dmi_1_0_0/hw_events_mgmt_service.py
new file mode 100644
index 0000000..ff4f093
--- /dev/null
+++ b/grpc_robot/services/dmi/dmi_1_0_0/hw_events_mgmt_service.py
@@ -0,0 +1,44 @@
+# Copyright 2020-present Open Networking Foundation
+# Original copyright 2020-present ADTRAN, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+from robot.api.deco import keyword
+from grpc_robot.services.service import is_connected
+
+from grpc_robot.services.service import Service
+from dmi import hw_events_mgmt_service_pb2_grpc, hw_events_mgmt_service_pb2, hw_pb2
+
+
+class NativeEventsManagementService(Service):
+
+    prefix = 'hw_event_mgmt_service_'
+
+    def __init__(self, ctx):
+        super().__init__(ctx=ctx, stub=hw_events_mgmt_service_pb2_grpc.NativeEventsManagementServiceStub)
+
+    # rpc ListEvents(HardwareID) returns(ListEventsResponse);
+    @keyword
+    @is_connected
+    def hw_event_mgmt_service_list_events(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.ListEvents, hw_pb2.HardwareID, param_dict, **kwargs)
+
+    # rpc UpdateEventsConfiguration(EventsConfigurationRequest) returns(EventsConfigurationResponse);
+    @keyword
+    @is_connected
+    def hw_event_mgmt_service_update_events_configuration(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.UpdateEventsConfiguration, hw_events_mgmt_service_pb2.EventsConfigurationRequest, param_dict, **kwargs)
+
+    # rpc StreamEvents(google.protobuf.Empty) returns(stream Event);
+    @keyword
+    @is_connected
+    def hw_event_mgmt_service_stream_events(self, **kwargs):
+        return self._grpc_helper(self.stub.StreamEvents, **kwargs)
diff --git a/grpc_robot/services/dmi/dmi_1_0_0/hw_management_service.py b/grpc_robot/services/dmi/dmi_1_0_0/hw_management_service.py
new file mode 100644
index 0000000..9d1a2dd
--- /dev/null
+++ b/grpc_robot/services/dmi/dmi_1_0_0/hw_management_service.py
@@ -0,0 +1,116 @@
+# Copyright 2020-present Open Networking Foundation
+# Original copyright 2020-present ADTRAN, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+from robot.api.deco import keyword
+from ...service import is_connected
+
+from grpc_robot.services.service import Service
+from dmi import hw_management_service_pb2_grpc, hw_management_service_pb2, hw_pb2
+
+
+class NativeHWManagementService(Service):
+
+    prefix = 'hw_management_service_'
+
+    def __init__(self, ctx):
+        super().__init__(ctx=ctx, stub=hw_management_service_pb2_grpc.NativeHWManagementServiceStub)
+
+    # rpc StartManagingDevice(ModifiableComponent) returns(stream StartManagingDeviceResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_start_managing_device(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.StartManagingDevice, hw_pb2.ModifiableComponent, param_dict, **kwargs)
+
+    # rpc StopManagingDevice(StopManagingDeviceRequest) returns(StopManagingDeviceResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_stop_managing_device(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.StopManagingDevice, hw_management_service_pb2.StopManagingDeviceRequest, param_dict, **kwargs)
+
+    # rpc GetPhysicalInventory(PhysicalInventoryRequest) returns(stream PhysicalInventoryResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_get_physical_inventory(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetPhysicalInventory, hw_management_service_pb2.PhysicalInventoryRequest, param_dict, **kwargs)
+
+    # rpc GetHWComponentInfo(HWComponentInfoGetRequest) returns(stream HWComponentInfoGetResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_get_hw_component_info(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetHWComponentInfo, hw_management_service_pb2.HWComponentInfoGetRequest, param_dict, **kwargs)
+
+    # rpc SetHWComponentInfo(HWComponentInfoSetRequest) returns(HWComponentInfoSetResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_set_hw_component_info(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.SetHWComponentInfo, hw_management_service_pb2.HWComponentInfoSetRequest, param_dict, **kwargs)
+
+    # rpc GetManagedDevices(google.protobuf.Empty) returns(ManagedDevicesResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_get_managed_devices(self, **kwargs):
+        return self._grpc_helper(self.stub.GetManagedDevices, **kwargs)
+
+    # rpc SetLoggingEndpoint(SetLoggingEndpointRequest) returns(SetRemoteEndpointResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_set_logging_endpoint(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.SetLoggingEndpoint, hw_management_service_pb2.SetLoggingEndpointRequest, param_dict, **kwargs)
+
+    # rpc GetLoggingEndpoint(HardwareID) returns(GetLoggingEndpointResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_get_logging_endpoint(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetLoggingEndpoint, hw_pb2.HardwareID, param_dict)
+
+    # rpc SetMsgBusEndpoint(SetMsgBusEndpointRequest) returns(SetRemoteEndpointResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_set_msg_bus_endpoint(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.SetMsgBusEndpoint, hw_management_service_pb2.SetMsgBusEndpointRequest, param_dict, **kwargs)
+
+    # rpc GetMsgBusEndpoint(google.protobuf.Empty) returns(GetMsgBusEndpointResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_get_msg_bus_endpoint(self, **kwargs):
+        return self._grpc_helper(self.stub.GetMsgBusEndpoint, **kwargs)
+
+    # rpc GetLoggableEntities(GetLoggableEntitiesRequest) returns(GetLogLevelResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_get_loggable_entities(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetLoggableEntities, hw_management_service_pb2.GetLoggableEntitiesRequest, param_dict, **kwargs)
+
+    # rpc SetLogLevel(SetLogLevelRequest) returns(SetLogLevelResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_set_log_level(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.SetLogLevel, hw_management_service_pb2.SetLogLevelRequest, param_dict, **kwargs)
+
+    # rpc GetLogLevel(GetLogLevelRequest) returns(GetLogLevelResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_get_log_level(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetLogLevel, hw_management_service_pb2.GetLogLevelRequest, param_dict, **kwargs)
+
+    # rpc HeartbeatCheck(google.protobuf.Empty) returns (Heartbeat);
+    @keyword
+    @is_connected
+    def hw_management_service_heartbeat_check(self, **kwargs):
+        return self._grpc_helper(self.stub.HeartbeatCheck, **kwargs)
+
+    # rpc RebootDevice(RebootDeviceRequest) returns(RebootDeviceResponse);
+    @keyword
+    @is_connected
+    def hw_management_service_reboot_device(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.RebootDevice, hw_management_service_pb2.RebootDeviceRequest, param_dict, **kwargs)
diff --git a/grpc_robot/services/dmi/dmi_1_0_0/hw_metrics_mgmt_service.py b/grpc_robot/services/dmi/dmi_1_0_0/hw_metrics_mgmt_service.py
new file mode 100644
index 0000000..bc983ec
--- /dev/null
+++ b/grpc_robot/services/dmi/dmi_1_0_0/hw_metrics_mgmt_service.py
@@ -0,0 +1,50 @@
+# Copyright 2020-present Open Networking Foundation
+# Original copyright 2020-present ADTRAN, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+from robot.api.deco import keyword
+from grpc_robot.services.service import is_connected
+
+from grpc_robot.services.service import Service
+from dmi import hw_metrics_mgmt_service_pb2_grpc, hw_metrics_mgmt_service_pb2, hw_pb2
+
+
+class NativeMetricsManagementService(Service):
+
+    prefix = 'hw_metrics_mgmt_service_'
+
+    def __init__(self, ctx):
+        super().__init__(ctx=ctx, stub=hw_metrics_mgmt_service_pb2_grpc.NativeMetricsManagementServiceStub)
+
+    # rpc ListMetrics(HardwareID) returns(ListMetricsResponse);
+    @keyword
+    @is_connected
+    def hw_metrics_mgmt_service_list_metrics(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.ListMetrics, hw_pb2.HardwareID, param_dict, **kwargs)
+
+    # rpc UpdateMetricsConfiguration(MetricsConfigurationRequest) returns(MetricsConfigurationResponse);
+    @keyword
+    @is_connected
+    def hw_metrics_mgmt_service_update_metrics_configuration(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.UpdateMetricsConfiguration, hw_metrics_mgmt_service_pb2.MetricsConfigurationRequest, param_dict, **kwargs)
+
+    # rpc GetMetric(GetMetricRequest) returns(GetMetricResponse);
+    @keyword
+    @is_connected
+    def hw_metrics_mgmt_service_get_metric(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetMetric, hw_metrics_mgmt_service_pb2.GetMetricRequest, param_dict, **kwargs)
+
+    # rpc StreamMetrics(google.protobuf.Empty) returns(stream Metric);
+    @keyword
+    @is_connected
+    def hw_metrics_mgmt_service_stream_metrics(self, **kwargs):
+        return self._grpc_helper(self.stub.StreamMetrics, **kwargs)
diff --git a/grpc_robot/services/service.py b/grpc_robot/services/service.py
new file mode 100644
index 0000000..da799c0
--- /dev/null
+++ b/grpc_robot/services/service.py
@@ -0,0 +1,254 @@
+# Copyright 2020-present Open Networking Foundation
+# Original copyright 2020-present ADTRAN, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+import grpc
+from grpc import _channel, ChannelConnectivity
+from decorator import decorator
+
+from ..tools.protobuf_to_dict import protobuf_to_dict, dict_to_protobuf
+from ..tools.robot_tools import Collections
+from google.protobuf import empty_pb2
+
+
+# decorator to check if connection is open
+@decorator
+def is_connected(library_function, *args, **kwargs):
+    try:
+        assert args[0].ctx.grpc_channel is not None
+        grpc.channel_ready_future(args[0].ctx.grpc_channel).result(timeout=10)
+    except (AssertionError, grpc.FutureTimeoutError):
+        raise ConnectionError('not connected to a gRPC channel')
+
+    return library_function(*args, **kwargs)
+
+
+# unfortunately conversation from snake-case to camel-case does not work for all keyword names, so we define a mapping dict
+kw_name_mapping = {
+    'GetHwComponentInfo': 'GetHWComponentInfo',
+    'SetHwComponentInfo': 'SetHWComponentInfo'
+}
+
+one_of_note = """*Note*: Bold dictionary keys are cases of an ONEOF type that is not transmitted in gRPC.\n"""
+named_parameters_note = """*Named parameters*:\n
+- return_enum_integer: <bool> or <string>; Whether or not to return the enum values as integer values rather than their labels. Default: _${FALSE}_ or _false_.\n
+- return_defaults: <bool> or <string>; Whether or not to return the default values. Default: _${FALSE}_ or _false_.\n
+- timeout: <int> or <string>; Number of seconds to wait for the response. Default: The timeout value set by keywords _Connection Open_ and _Connection Parameters Set_."""
+
+
+class Service(object):
+
+    prefix = ''
+
+    def __init__(self, ctx, stub=None):
+        super().__init__()
+        self.ctx = ctx
+
+        try:
+            self.stub = stub(channel=ctx.grpc_channel)
+        except AttributeError:
+            self.stub = None
+
+    def get_next_type_def(self, type_name, module):
+
+        next_type_defs = [d for d in self.ctx.protobuf['data_types'] if d['name'] == type_name]
+
+        if not next_type_defs:
+            return None
+
+        if len(next_type_defs) > 1:
+            next_type_def = [d for d in next_type_defs if d['module'] == module]
+
+            if next_type_def:
+                return next_type_def[0]
+
+            else:
+                return next_type_defs[0]
+
+        else:
+            return next_type_defs[0]
+
+    def lookup_type_def(self, _type_def, _indent='', _lookup_table=None, enum_indent=''):
+
+        _lookup_table = _lookup_table or []
+
+        if _type_def['name'] in _lookup_table:
+            return '< recursive type: ' + _type_def['name'] + ' >'
+        else:
+            _lookup_table.append(_type_def['name'])
+
+        if _type_def['type'] == 'message':
+
+            doc_string = '{    # type: %s\n' % _type_def['name']
+            _indent += '  '
+
+            for field in _type_def['fields']:
+                if field.get('is_choice', False):
+                    doc_string += self.get_field_doc(field, _indent, _lookup_table[:], _type_def['module'], field['name'])
+                else:
+                    doc_string += "%s'%s': %s\n" % (_indent, field['name'], self.get_field_doc(field, _indent, _lookup_table[:], _type_def['module']))
+
+            return doc_string + _indent[:-2] + '}'
+
+        if _type_def['type'] == 'enum':
+
+            try:
+                k_len = 0
+                for k, v in _type_def['values'].items():
+                    k_len = max(len(k), k_len)
+                enum = (' |\n %s%s' % (_indent, enum_indent)).join(['%s%s - %s' % ((k_len - len(k)) * ' ', k, v) for k, v in _type_def['values'].items()])
+
+            except AttributeError:
+                enum = ' | '.join(_type_def['values'])
+
+            return '< %s >' % enum
+
+        return ''
+
+    def get_field_doc(self, _type_def, _indent, _lookup_table, module, choice_name=''):
+
+        doc_string = ''
+
+        _indent = (_indent + '  ') if _type_def.get('repeated', False) else _indent
+
+        if _type_def.get('is_choice', False):
+            for case in _type_def['cases']:
+                # doc_string += "%s'*%s*' (ONEOF _%s_): %s\n" % (_indent, case['name'], choice_name, self.get_field_doc(case, _indent, _lookup_table[:], module))
+                doc_string += "%s'_ONEOF %s_: *%s*': %s\n" % (_indent, choice_name, case['name'], self.get_field_doc(case, _indent, _lookup_table[:], module))
+
+        elif _type_def.get('lookup', False):
+            try:
+                next_type_def = self.get_next_type_def(_type_def['type'], module=module)
+                if next_type_def is not None:
+                    doc_string += self.lookup_type_def(next_type_def, _indent, _lookup_table, (len(_type_def['name']) + 5) * ' ')
+                else:
+                    doc_string += "<%s>," % _type_def['type']
+
+            except KeyError:
+                doc_string += _type_def['type']
+        else:
+            doc_string += "<%s>," % _type_def['type']
+
+        if _type_def.get('repeated', False):
+            doc_string = '[    # list of:\n' + _indent + doc_string + '\n' + _indent[:-2] + ']'
+
+        return doc_string
+
+    def get_rpc_documentation(self, type_def, module):
+
+        indent = '  ' if type_def['is_stream'] else ''
+
+        if type_def['lookup']:
+            next_type_def = self.get_next_type_def(type_def['type'], module)
+            if next_type_def is not None:
+                doc_string = self.lookup_type_def(next_type_def, indent)
+            else:
+                doc_string = type_def['type'] + '\n'
+        else:
+            doc_string = type_def['type'] + '\n'
+
+        if type_def['is_stream']:
+            return '[    # list of:\n' + indent + doc_string + '\n]'
+        else:
+            return doc_string
+
+    def get_documentation(self, keyword_name):
+
+        keyword_name = Collections.to_camel_case(keyword_name.replace(self.prefix, ''), True)
+        keyword_name = kw_name_mapping.get(keyword_name, keyword_name)
+
+        try:
+            service = Collections.list_get_dict_by_value(self.ctx.protobuf.get('services', []), 'name', self.__class__.__name__)
+        except KeyError:
+            return 'no documentation available'
+
+        rpc = Collections.list_get_dict_by_value(service.get('rpcs', []), 'name', keyword_name)
+
+        doc_string = 'RPC _%s_ from _%s_.\n' % (rpc['name'], service['name'])
+        doc_string += '\n\n*Parameters*:\n'
+
+        for attr, attr_str in [('request', '- param_dict'), ('named_params', None), ('response', '*Return*')]:
+
+            if rpc.get(attr) is not None:
+                rpc_doc = '\n'.join(['| %s' % line for line in self.get_rpc_documentation(rpc.get(attr), service['module']).splitlines()])
+
+                if rpc_doc == '| google.protobuf.Empty':
+                    doc_string += '_none_\n\n'
+                    continue
+
+                doc_string += '\n%s:\n' % attr_str if '_ONEOF' not in rpc_doc else '\n%s: %s\n' % (attr_str, one_of_note)
+                doc_string += rpc_doc + '\n'
+
+            elif attr == 'named_params':
+                doc_string += named_parameters_note
+
+        return doc_string
+
+    @staticmethod
+    def to_protobuf(type_def, param_dict):
+        try:
+            return dict_to_protobuf(type_def or empty_pb2.Empty, param_dict or {})
+        except Exception as e:
+            raise ValueError('parameter dictionary does not match the ProtoBuf type definition: %s' % e)
+
+    def _process_response(self, response, index=None, **kwargs):
+
+        debug_text = 'RESPONSE' if index is None else 'RESPONSE-NEXT  ' if index else 'RESPONSE-STREAM'
+
+        return_enum_integer = bool(str(kwargs.get('return_enum_integer', False)).lower() == 'true')
+        return_defaults = bool(str(kwargs.get('return_defaults', False)).lower() == 'true')
+
+        self.ctx.logger.debug('%s : data=%s' % (debug_text, response))
+        _response = protobuf_to_dict(response, use_enum_labels=not return_enum_integer, including_default_value_fields=return_defaults)
+
+        return _response
+
+    def _grpc_helper(self, func, arg_type=None, param_dict=None, **kwargs):
+
+        def generate_stream(arg, data_list):
+
+            for idx, data in enumerate(data_list):
+                _protobuf = self.to_protobuf(arg, data)
+                debug_text = 'REQUEST-NEXT  :' if idx else 'REQUEST-STREAM : method=%s;' % func._method.decode()
+                self.ctx.logger.debug('%s data=%s' % (debug_text, _protobuf))
+                yield _protobuf
+
+        if isinstance(param_dict, list):
+            response = func(generate_stream(arg_type, param_dict), timeout=int(kwargs.get('timeout') or self.ctx.timeout))
+        else:
+            protobuf = self.to_protobuf(arg_type, param_dict)
+            self.ctx.logger.debug('REQUEST : method=%s; data=%s' % (func._method.decode(), protobuf))
+            response = func(protobuf, timeout=int(kwargs.get('timeout') or self.ctx.timeout))
+
+        try:
+
+            # streamed response is of type <grpc._channel._MultiThreadedRendezvous> and must be handle as list
+            if isinstance(response, _channel._MultiThreadedRendezvous):
+
+                return_list = []
+                for idx, list_item in enumerate(response):
+                    return_list.append(self._process_response(list_item, index=idx, **kwargs))
+
+                return return_list
+
+            else:
+
+                return self._process_response(response, **kwargs)
+
+        except grpc.RpcError as e:
+            if e.code().name == 'DEADLINE_EXCEEDED':
+                self.ctx.logger.error('TimeoutError (%ss): %s' % (kwargs.get('timeout') or self.ctx.timeout, e))
+                raise TimeoutError('no response within %s seconds' % (kwargs.get('timeout') or self.ctx.timeout))
+            else:
+                self.ctx.logger.error(e)
+                raise e
+
diff --git a/grpc_robot/services/voltha/voltha_4_0_13/__init__.py b/grpc_robot/services/voltha/voltha_4_0_13/__init__.py
new file mode 100644
index 0000000..66de09c
--- /dev/null
+++ b/grpc_robot/services/voltha/voltha_4_0_13/__init__.py
@@ -0,0 +1,18 @@
+# Copyright 2020-present Open Networking Foundation
+# Original copyright 2020-present ADTRAN, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+from .extension import *
+from .health_service import *
+from .openolt import *
+from .ponsim import *
+from .voltha_service import *
diff --git a/grpc_robot/services/voltha/voltha_4_0_13/extension.py b/grpc_robot/services/voltha/voltha_4_0_13/extension.py
new file mode 100644
index 0000000..ef379a1
--- /dev/null
+++ b/grpc_robot/services/voltha/voltha_4_0_13/extension.py
@@ -0,0 +1,41 @@
+# Copyright 2020-present Open Networking Foundation
+# Original copyright 2020-present ADTRAN, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+from robot.api.deco import keyword
+from grpc_robot.services.service import is_connected
+
+from grpc_robot.services.service import Service
+from voltha_protos import extensions_pb2_grpc, extensions_pb2
+
+
+class Extension(Service):
+
+    prefix = 'extension_'
+
+    def __init__(self, ctx):
+        super().__init__(ctx=ctx, stub=extensions_pb2_grpc.ExtensionStub)
+
+    # rpc GetExtValue(SingleGetValueRequest) returns (SingleGetValueResponse);
+    @keyword
+    @is_connected
+    def extension_get_ext_value(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetExtValue, extensions_pb2.SingleGetValueRequest, param_dict, **kwargs)
+
+    # rpc SetExtValue(SingleSetValueRequest) returns (SingleSetValueResponse);
+    @keyword
+    @is_connected
+    def extension_set_ext_value(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.SetExtValue, extensions_pb2.SingleSetValueRequest, param_dict, **kwargs)
+
+
+
diff --git a/grpc_robot/services/voltha/voltha_4_0_13/health_service.py b/grpc_robot/services/voltha/voltha_4_0_13/health_service.py
new file mode 100644
index 0000000..72bb4f5
--- /dev/null
+++ b/grpc_robot/services/voltha/voltha_4_0_13/health_service.py
@@ -0,0 +1,32 @@
+# Copyright 2020-present Open Networking Foundation
+# Original copyright 2020-present ADTRAN, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+from robot.api.deco import keyword
+from grpc_robot.services.service import is_connected
+
+from grpc_robot.services.service import Service
+from voltha_protos import health_pb2_grpc
+
+
+class HealthService(Service):
+
+    prefix = 'health_service_'
+
+    def __init__(self, ctx):
+        super().__init__(ctx=ctx, stub=health_pb2_grpc.HealthServiceStub)
+
+    # rpc GetHealthStatus(google.protobuf.Empty) returns (HealthStatus) {...};
+    @keyword
+    @is_connected
+    def hw_management_service_get_health_status(self, **kwargs):
+        return self._grpc_helper(self.stub.GetHealthStatus, **kwargs)
diff --git a/grpc_robot/services/voltha/voltha_4_0_13/openolt.py b/grpc_robot/services/voltha/voltha_4_0_13/openolt.py
new file mode 100644
index 0000000..2b6a26c
--- /dev/null
+++ b/grpc_robot/services/voltha/voltha_4_0_13/openolt.py
@@ -0,0 +1,200 @@
+# Copyright 2020-present Open Networking Foundation
+# Original copyright 2020-present ADTRAN, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+from robot.api.deco import keyword
+from grpc_robot.services.service import is_connected
+
+from grpc_robot.services.service import Service
+from voltha_protos import openolt_pb2_grpc, openolt_pb2, tech_profile_pb2, ext_config_pb2
+
+
+class Openolt(Service):
+
+    prefix = 'open_olt_'
+
+    def __init__(self, ctx):
+        super().__init__(ctx=ctx, stub=openolt_pb2_grpc.OpenoltStub)
+
+    # rpc DisableOlt(Empty) returns (Empty) {...};
+    @keyword
+    @is_connected
+    def open_olt_disable_olt(self, **kwargs):
+        return self._grpc_helper(self.stub.DisableOlt, **kwargs)
+
+    # rpc ReenableOlt(Empty) returns (Empty) {...};
+    @keyword
+    @is_connected
+    def open_olt_reenable_olt(self, **kwargs):
+        return self._grpc_helper(self.stub.ReenableOlt, **kwargs)
+
+    # rpc ActivateOnu(Onu) returns (Empty) {...};
+    @keyword
+    @is_connected
+    def open_olt_activate_onu(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.ActivateOnu, openolt_pb2.Onu, param_dict, **kwargs)
+
+    # rpc DeactivateOnu(Onu) returns (Empty) {...};
+    @keyword
+    @is_connected
+    def open_olt_deactivate_onu(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.DeactivateOnu, openolt_pb2.Onu, param_dict, **kwargs)
+
+    # rpc DeleteOnu(Onu) returns (Empty) {...};
+    @keyword
+    @is_connected
+    def open_olt_delete_onu(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.DeleteOnu, openolt_pb2.Onu, param_dict, **kwargs)
+
+    # rpc OmciMsgOut(OmciMsg) returns (Empty) {...};
+    @keyword
+    @is_connected
+    def open_olt_omci_msg_out(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.OmciMsgOut, openolt_pb2.OmciMsg, param_dict, **kwargs)
+
+    # rpc OnuPacketOut(OnuPacket) returns (Empty) {...};
+    @keyword
+    @is_connected
+    def open_olt_onu_packet_out(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.OnuPacketOut, openolt_pb2.OnuPacket, param_dict, **kwargs)
+
+    # rpc UplinkPacketOut(UplinkPacket) returns (Empty) {...};
+    @keyword
+    @is_connected
+    def open_olt_uplink_packet_out(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.UplinkPacketOut, openolt_pb2.UplinkPacket, param_dict, **kwargs)
+
+    # rpc FlowAdd(Flow) returns (Empty) {...};
+    @keyword
+    @is_connected
+    def open_olt_flow_add(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.FlowAdd, openolt_pb2.Flow, param_dict, **kwargs)
+
+    # rpc FlowRemove(Flow) returns (Empty) {...};
+    @keyword
+    @is_connected
+    def open_olt_flow_remove(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.FlowRemove, openolt_pb2.Flow, param_dict, **kwargs)
+
+    # rpc HeartbeatCheck(Empty) returns (Heartbeat) {...};
+    @keyword
+    @is_connected
+    def open_olt_heartbeat_check(self, **kwargs):
+        return self._grpc_helper(self.stub.HeartbeatCheck, **kwargs)
+
+    # rpc EnablePonIf(Interface) returns (Empty) {...};
+    @keyword
+    @is_connected
+    def open_olt_enable_pon_if(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.EnablePonIf, openolt_pb2.Interface, param_dict, **kwargs)
+
+    # rpc DisablePonIf(Interface) returns (Empty) {...};
+    @keyword
+    @is_connected
+    def open_olt_disable_pon_if(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.DisablePonIf, openolt_pb2.Interface, param_dict, **kwargs)
+
+    # rpc GetDeviceInfo(Empty) returns (DeviceInfo) {...};
+    @keyword
+    @is_connected
+    def open_olt_get_device_info(self, **kwargs):
+        return self._grpc_helper(self.stub.GetDeviceInfo, **kwargs)
+
+    # rpc Reboot(Empty) returns (Empty) {...};
+    @keyword
+    @is_connected
+    def open_olt_reboot(self, **kwargs):
+        return self._grpc_helper(self.stub.Reboot, **kwargs)
+
+    # rpc CollectStatistics(Empty) returns (Empty) {...};
+    @keyword
+    @is_connected
+    def open_olt_collect_statistics(self, **kwargs):
+        return self._grpc_helper(self.stub.CollectStatistics, **kwargs)
+
+    # rpc GetOnuStatistics(Onu) returns (OnuStatistics) {...};
+    @keyword
+    @is_connected
+    def open_olt_get_onu_statistics(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetOnuStatistics, openolt_pb2.Onu, param_dict, **kwargs)
+
+    # rpc GetGemPortStatistics(OnuPacket) returns (GemPortStatistics) {...};
+    @keyword
+    @is_connected
+    def open_olt_get_gem_port_statistics(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetGemPortStatistics, openolt_pb2.OnuPacket, param_dict, **kwargs)
+
+    # rpc CreateTrafficSchedulers(tech_profile.TrafficSchedulers) returns (Empty) {...};
+    @keyword
+    @is_connected
+    def open_olt_create_traffic_schedulers(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.CreateTrafficSchedulers, tech_profile_pb2.TrafficSchedulers, param_dict, **kwargs)
+
+    # rpc RemoveTrafficSchedulers(tech_profile.TrafficSchedulers) returns (Empty) {...};
+    @keyword
+    @is_connected
+    def open_olt_remove_traffic_schedulers(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.RemoveTrafficSchedulers, tech_profile_pb2.TrafficSchedulers, param_dict, **kwargs)
+
+    # rpc CreateTrafficQueues(tech_profile.TrafficQueues) returns (Empty) {...};
+    @keyword
+    @is_connected
+    def open_olt_create_traffic_queues(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.CreateTrafficQueues, tech_profile_pb2.TrafficQueues, param_dict, **kwargs)
+
+    # rpc RemoveTrafficQueues(tech_profile.TrafficQueues) returns (Empty) {...};
+    @keyword
+    @is_connected
+    def open_olt_remove_traffic_queues(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.RemoveTrafficQueues, tech_profile_pb2.TrafficQueues, param_dict, **kwargs)
+
+    # rpc EnableIndication(Empty) returns (stream Indication) {...};
+    @keyword
+    @is_connected
+    def open_olt_enable_indication(self, **kwargs):
+        return self._grpc_helper(self.stub.EnableIndication, **kwargs)
+
+    # rpc PerformGroupOperation(Group) returns (Empty) {...};
+    @keyword
+    @is_connected
+    def open_olt_perform_group_operation(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.PerformGroupOperation, openolt_pb2.Group, param_dict, **kwargs)
+
+    # rpc DeleteGroup(Group) returns (Empty) {...};
+    @keyword
+    @is_connected
+    def open_olt_delete_group(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.DeleteGroup, openolt_pb2.Group, param_dict, **kwargs)
+
+    # rpc GetExtValue(ValueParam) returns (common.ReturnValues) {...};
+    @keyword
+    @is_connected
+    def open_olt_get_ext_value(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetExtValue, openolt_pb2.ValueParam, param_dict, **kwargs)
+
+    # rpc OnuItuPonAlarmSet(config.OnuItuPonAlarm) returns (Empty) {...};
+    @keyword
+    @is_connected
+    def open_olt_onu_itu_pon_alarm_set(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.OnuItuPonAlarmSet, ext_config_pb2.OnuItuPonAlarm, param_dict, **kwargs)
+
+    # rpc GetLogicalOnuDistanceZero(Onu) returns (OnuLogicalDistance) {...};
+    @keyword
+    @is_connected
+    def open_olt_get_logical_onu_distance_zero(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetLogicalOnuDistanceZero, openolt_pb2.Onu, param_dict, **kwargs)
+
+    # rpc GetLogicalOnuDistance(Onu) returns (OnuLogicalDistance) {...};
+    @keyword
+    @is_connected
+    def open_olt_get_logical_onu_distance(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetLogicalOnuDistanceF, openolt_pb2.Onu, param_dict, **kwargs)
diff --git a/grpc_robot/services/voltha/voltha_4_0_13/ponsim.py b/grpc_robot/services/voltha/voltha_4_0_13/ponsim.py
new file mode 100644
index 0000000..579a66d
--- /dev/null
+++ b/grpc_robot/services/voltha/voltha_4_0_13/ponsim.py
@@ -0,0 +1,56 @@
+# Copyright 2020-present Open Networking Foundation
+# Original copyright 2020-present ADTRAN, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+from robot.api.deco import keyword
+from grpc_robot.services.service import is_connected
+
+from grpc_robot.services.service import Service
+from voltha_protos import ponsim_pb2_grpc, ponsim_pb2
+
+
+class PonSim(Service):
+
+    prefix = 'pon_sim_'
+
+    def __init__(self, ctx):
+        super().__init__(ctx=ctx, stub=ponsim_pb2_grpc.PonSimStub)
+
+    # rpc SendFrame(PonSimFrame) returns (google.protobuf.Empty) {}
+    @keyword
+    @is_connected
+    def pon_sim_send_frame(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.SendFrame, ponsim_pb2.PonSimFrame, param_dict, **kwargs)
+
+    # rpc ReceiveFrames(google.protobuf.Empty) returns (stream PonSimFrame) {}
+    @keyword
+    @is_connected
+    def pon_sim_receive_frames(self, **kwargs):
+        return self._grpc_helper(self.stub.ReceiveFrames, **kwargs)
+
+    # rpc GetDeviceInfo(google.protobuf.Empty) returns(PonSimDeviceInfo) {}
+    @keyword
+    @is_connected
+    def pon_sim_get_device_info(self, **kwargs):
+        return self._grpc_helper(self.stub.GetDeviceInfo, **kwargs)
+
+    # rpc UpdateFlowTable(FlowTable) returns(google.protobuf.Empty) {}
+    @keyword
+    @is_connected
+    def pon_sim_update_flow_table(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.UpdateFlowTable, ponsim_pb2.FlowTable, param_dict, **kwargs)
+
+    # rpc GetStats(google.protobuf.Empty) returns(PonSimMetrics) {}
+    @keyword
+    @is_connected
+    def pon_sim_get_stats(self, **kwargs):
+        return self._grpc_helper(self.stub.GetStats, **kwargs)
diff --git a/grpc_robot/services/voltha/voltha_4_0_13/voltha_service.py b/grpc_robot/services/voltha/voltha_4_0_13/voltha_service.py
new file mode 100644
index 0000000..66c5099
--- /dev/null
+++ b/grpc_robot/services/voltha/voltha_4_0_13/voltha_service.py
@@ -0,0 +1,404 @@
+# Copyright 2020-present Open Networking Foundation
+# Original copyright 2020-present ADTRAN, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+from robot.api.deco import keyword
+from grpc_robot.services.service import is_connected
+
+from grpc_robot.services.service import Service
+from voltha_protos import voltha_pb2_grpc, voltha_pb2, common_pb2, openflow_13_pb2
+
+
+class VolthaService(Service):
+
+    prefix = 'voltha_service_'
+
+    def __init__(self, ctx):
+        super().__init__(ctx=ctx, stub=voltha_pb2_grpc.VolthaServiceStub)
+
+    # rpc GetMembership(google.protobuf.Empty) returns(Membership) {...};
+    @keyword
+    @is_connected
+    def voltha_service_get_membership(self, **kwargs):
+        return self._grpc_helper(self.stub.GetMembership, **kwargs)
+
+    # rpc UpdateMembership(Membership) returns(google.protobuf.Empty) {...};
+    @keyword
+    @is_connected
+    def voltha_service_update_membership(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.UpdateMembership, voltha_pb2.Membership, param_dict, **kwargs)
+
+    # rpc GetVoltha(google.protobuf.Empty) returns(Voltha) {...};
+    @keyword
+    @is_connected
+    def voltha_service_get_voltha(self, **kwargs):
+        return self._grpc_helper(self.stub.GetVoltha, **kwargs)
+
+    # rpc ListCoreInstances(google.protobuf.Empty) returns(CoreInstances) {...};
+    @keyword
+    @is_connected
+    def voltha_service_list_core_instances(self, **kwargs):
+        return self._grpc_helper(self.stub.ListCoreInstances, **kwargs)
+
+    # rpc GetCoreInstance(common.ID) returns(CoreInstance) {...};
+    @keyword
+    @is_connected
+    def voltha_service_get_core_instance(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetCoreInstance, common_pb2.ID, param_dict, **kwargs)
+
+    # rpc ListAdapters(google.protobuf.Empty) returns(Adapters) {...};
+    @keyword
+    @is_connected
+    def voltha_service_list_adapters(self, **kwargs):
+        return self._grpc_helper(self.stub.ListAdapters, **kwargs)
+
+    # rpc ListLogicalDevices(google.protobuf.Empty) returns(LogicalDevices) {...};
+    @keyword
+    @is_connected
+    def voltha_service_list_logical_devices(self, **kwargs):
+        return self._grpc_helper(self.stub.ListLogicalDevices, **kwargs)
+
+    # rpc GetLogicalDevice(common.ID) returns(LogicalDevice) {...};
+    @keyword
+    @is_connected
+    def voltha_service_get_logical_device(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetLogicalDevice, common_pb2.ID, param_dict, **kwargs)
+
+    # rpc ListLogicalDevicePorts(common.ID) returns(LogicalPorts) {...};
+    @keyword
+    @is_connected
+    def voltha_service_list_logical_device_ports(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.ListLogicalDevicePorts, common_pb2.ID, param_dict, **kwargs)
+
+    # rpc GetLogicalDevicePort(LogicalPortId) returns(LogicalPort) {...};
+    @keyword
+    @is_connected
+    def voltha_service_get_logical_device_port(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetLogicalDevicePort, voltha_pb2.LogicalPortId, param_dict, **kwargs)
+
+    # rpc EnableLogicalDevicePort(LogicalPortId) returns(google.protobuf.Empty) {...};
+    @keyword
+    @is_connected
+    def voltha_service_enable_logical_device_port(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.EnableLogicalDevicePort, voltha_pb2.LogicalPortId, param_dict, **kwargs)
+
+    # rpc DisableLogicalDevicePort(LogicalPortId) returns(google.protobuf.Empty) {...};
+    @keyword
+    @is_connected
+    def voltha_service_disable_logical_device_port(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.DisableLogicalDevicePort, voltha_pb2.LogicalPortId, param_dict, **kwargs)
+
+    # rpc ListLogicalDeviceFlows(common.ID) returns(openflow_13.Flows) {...};
+    @keyword
+    @is_connected
+    def voltha_service_list_logical_device_flows(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.ListLogicalDeviceFlows, common_pb2.ID, param_dict, **kwargs)
+
+    # rpc UpdateLogicalDeviceFlowTable(openflow_13.FlowTableUpdate) returns(google.protobuf.Empty) {...};
+    @keyword
+    @is_connected
+    def voltha_service_update_logical_device_flow_table(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.UpdateLogicalDeviceFlowTable, openflow_13_pb2.FlowTableUpdate, param_dict, **kwargs)
+
+    # rpc UpdateLogicalDeviceMeterTable(openflow_13.MeterModUpdate) returns(google.protobuf.Empty) {...};
+    @keyword
+    @is_connected
+    def voltha_service_update_logical_device_meter_table(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.UpdateLogicalDeviceMeterTable, openflow_13_pb2.MeterModUpdate, param_dict, **kwargs)
+
+    # rpc ListLogicalDeviceMeters(common.ID) returns (openflow_13.Meters) {...};
+    @keyword
+    @is_connected
+    def voltha_service_list_logical_device_meters(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.ListLogicalDeviceMeters, common_pb2.ID, param_dict, **kwargs)
+
+    # rpc ListLogicalDeviceFlowGroups(common.ID) returns(openflow_13.FlowGroups) {...};
+    @keyword
+    @is_connected
+    def voltha_service_list_logical_device_flow_groups(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.ListLogicalDeviceFlowGroups, common_pb2.ID, param_dict, **kwargs)
+
+    # rpc UpdateLogicalDeviceFlowGroupTable(openflow_13.FlowGroupTableUpdate) returns(google.protobuf.Empty) {...};
+    @keyword
+    @is_connected
+    def voltha_service_update_logical_device_flow_group_table(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.UpdateLogicalDeviceFlowGroupTable, openflow_13_pb2.FlowGroupTableUpdate, param_dict, **kwargs)
+
+    # rpc ListDevices(google.protobuf.Empty) returns(Devices) {...};
+    @keyword
+    @is_connected
+    def voltha_service_list_devices(self, **kwargs):
+        return self._grpc_helper(self.stub.ListDevices, **kwargs)
+
+    # rpc ListDeviceIds(google.protobuf.Empty) returns(common.IDs) {...};
+    @keyword
+    @is_connected
+    def voltha_service_list_device_ids(self, **kwargs):
+        return self._grpc_helper(self.stub.ListDeviceIds, **kwargs)
+
+    # rpc ReconcileDevices(common.IDs) returns(google.protobuf.Empty) {...};
+    @keyword
+    @is_connected
+    def voltha_service_reconcile_devices(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.ReconcileDevices, common_pb2.IDs, param_dict, **kwargs)
+
+    # rpc GetDevice(common.ID) returns(Device) {...};
+    @keyword
+    @is_connected
+    def voltha_service_get_device(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetDevice, common_pb2.ID, param_dict, **kwargs)
+
+    # rpc CreateDevice(Device) returns(Device) {...};
+    @keyword
+    @is_connected
+    def voltha_service_create_device(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.CreateDevice, voltha_pb2.Device, param_dict, **kwargs)
+
+    # rpc EnableDevice(common.ID) returns(google.protobuf.Empty) {...};
+    @keyword
+    @is_connected
+    def voltha_service_enable_device(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.EnableDevice, common_pb2.ID, param_dict, **kwargs)
+
+    # rpc DisableDevice(common.ID) returns(google.protobuf.Empty) {...};
+    @keyword
+    @is_connected
+    def voltha_service_disable_device(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.DisableDevice, common_pb2.ID, param_dict, **kwargs)
+
+    # rpc RebootDevice(common.ID) returns(google.protobuf.Empty) {...};
+    @keyword
+    @is_connected
+    def voltha_service_reboot_device(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.RebootDevice, common_pb2.ID, param_dict, **kwargs)
+
+    # rpc DeleteDevice(common.ID) returns(google.protobuf.Empty) {...};
+    @keyword
+    @is_connected
+    def voltha_service_delete_device(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.DeleteDevice, common_pb2.ID, param_dict, **kwargs)
+
+    # rpc ForceDeleteDevice(common.ID) returns(google.protobuf.Empty) {...};
+    @keyword
+    @is_connected
+    def voltha_service_force_delete_device(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.ForceDeleteDevice, common_pb2.ID, param_dict, **kwargs)
+
+    # rpc DownloadImage(ImageDownload) returns(common.OperationResp) {...};
+    @keyword
+    @is_connected
+    def voltha_service_download_image(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.DownloadImage, voltha_pb2.ImageDownload, param_dict, **kwargs)
+
+    # rpc GetImageDownloadStatus(ImageDownload) returns(ImageDownload) {...};
+    @keyword
+    @is_connected
+    def voltha_service_get_image_download_status(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetImageDownloadStatus, voltha_pb2.ImageDownload, param_dict, **kwargs)
+
+    # rpc GetImageDownload(ImageDownload) returns(ImageDownload) {...};
+    @keyword
+    @is_connected
+    def voltha_service_get_image_download(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetImageDownload, voltha_pb2.ImageDownload, param_dict, **kwargs)
+
+    # rpc ListImageDownloads(common.ID) returns(ImageDownloads) {...};
+    @keyword
+    @is_connected
+    def voltha_service_list_image_downloads(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.ListImageDownloads, common_pb2.ID, param_dict, **kwargs)
+
+    # rpc CancelImageDownload(ImageDownload) returns(common.OperationResp) {...};
+    @keyword
+    @is_connected
+    def voltha_service_cancel_image_download(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.CancelImageDownload, voltha_pb2.ImageDownload, param_dict, **kwargs)
+
+    # rpc ActivateImageUpdate(ImageDownload) returns(common.OperationResp) {...};
+    @keyword
+    @is_connected
+    def voltha_service_activate_image_update(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.ActivateImageUpdate, voltha_pb2.ImageDownload, param_dict, **kwargs)
+
+    # rpc RevertImageUpdate(ImageDownload) returns(common.OperationResp) {...};
+    @keyword
+    @is_connected
+    def voltha_service_revert_image_update(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.RevertImageUpdate, voltha_pb2.ImageDownload, param_dict, **kwargs)
+
+    # rpc ListDevicePorts(common.ID) returns(Ports) {...};
+    @keyword
+    @is_connected
+    def voltha_service_list_device_ports(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.ListDevicePorts, common_pb2.ID, param_dict, **kwargs)
+
+    # rpc ListDevicePmConfigs(common.ID) returns(PmConfigs) {...};
+    @keyword
+    @is_connected
+    def voltha_service_list_device_pm_configs(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.ListDevicePmConfigs, common_pb2.ID, param_dict, **kwargs)
+
+    # rpc UpdateDevicePmConfigs(voltha.PmConfigs) returns(google.protobuf.Empty) {...};
+    @keyword
+    @is_connected
+    def voltha_service_update_device_pm_configs(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.UpdateDevicePmConfigs, voltha_pb2.PmConfigs, param_dict, **kwargs)
+
+    # rpc ListDeviceFlows(common.ID) returns(openflow_13.Flows) {...};
+    @keyword
+    @is_connected
+    def voltha_service_list_device_flows(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.ListDeviceFlows, common_pb2.ID, param_dict, **kwargs)
+
+    # rpc ListDeviceFlowGroups(common.ID) returns(openflow_13.FlowGroups) {...};
+    @keyword
+    @is_connected
+    def voltha_service_list_device_flow_groups(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.ListDeviceFlowGroups, common_pb2.ID, param_dict, **kwargs)
+
+    # rpc ListDeviceTypes(google.protobuf.Empty) returns(DeviceTypes) {...};
+    @keyword
+    @is_connected
+    def voltha_service_list_device_types(self, **kwargs):
+        return self._grpc_helper(self.stub.ListDeviceTypes, **kwargs)
+
+    # rpc GetDeviceType(common.ID) returns(DeviceType) {...};
+    @keyword
+    @is_connected
+    def voltha_service_get_device_type(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetDeviceType, common_pb2.ID, param_dict, **kwargs)
+
+    # rpc ListDeviceGroups(google.protobuf.Empty) returns(DeviceGroups) {...};
+    @keyword
+    @is_connected
+    def voltha_service_list_device_groups(self, **kwargs):
+        return self._grpc_helper(self.stub.ListDeviceGroups, **kwargs)
+
+    # rpc StreamPacketsOut(stream openflow_13.PacketOut) returns(google.protobuf.Empty) {...};
+    @keyword
+    @is_connected
+    def voltha_service_stream_packets_out(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.StreamPacketsOut, openflow_13_pb2.PacketOut, param_dict, **kwargs)
+
+    # rpc ReceivePacketsIn(google.protobuf.Empty) returns(stream openflow_13.PacketIn) {...};
+    @keyword
+    @is_connected
+    def voltha_service_receive_packets_in(self, **kwargs):
+        return self._grpc_helper(self.stub.ReceivePacketsIn, **kwargs)
+
+    # rpc ReceiveChangeEvents(google.protobuf.Empty) returns(stream openflow_13.ChangeEvent) {...};
+    @keyword
+    @is_connected
+    def voltha_service_receive_change_events(self, **kwargs):
+        return self._grpc_helper(self.stub.ReceiveChangeEvents, **kwargs)
+
+    # rpc GetDeviceGroup(common.ID) returns(DeviceGroup) {...};
+    @keyword
+    @is_connected
+    def voltha_service_get_device_group(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetDeviceGroup, common_pb2.ID, param_dict, **kwargs)
+
+    # rpc CreateEventFilter(EventFilter) returns(EventFilter) {...};
+    @keyword
+    @is_connected
+    def voltha_service_create_event_filter(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.CreateEventFilter, voltha_pb2.EventFilter, param_dict, **kwargs)
+
+    # rpc GetEventFilter(common.ID) returns(EventFilters) {...};
+    @keyword
+    @is_connected
+    def voltha_service_get_event_filter(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetEventFilter, common_pb2.ID, param_dict, **kwargs)
+
+    # rpc UpdateEventFilter(EventFilter) returns(EventFilter) {...};
+    @keyword
+    @is_connected
+    def voltha_service_update_event_filter(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.UpdateEventFilter, voltha_pb2.EventFilter, param_dict, **kwargs)
+
+    # rpc DeleteEventFilter(EventFilter) returns(google.protobuf.Empty) {...};
+    @keyword
+    @is_connected
+    def voltha_service_delete_event_filter(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.DeleteEventFilter, voltha_pb2.EventFilter, param_dict, **kwargs)
+
+    # rpc ListEventFilters(google.protobuf.Empty) returns(EventFilters) {...};
+    @keyword
+    @is_connected
+    def voltha_service_list_event_filters(self, **kwargs):
+        return self._grpc_helper(self.stub.ListEventFilters, **kwargs)
+
+    # rpc GetImages(common.ID) returns(Images) {...};
+    @keyword
+    @is_connected
+    def voltha_service_get_images(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetImages, common_pb2.ID, param_dict, **kwargs)
+
+    # rpc SelfTest(common.ID) returns(SelfTestResponse) {...};
+    @keyword
+    @is_connected
+    def voltha_service_self_test(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.SelfTest, common_pb2.ID, param_dict, **kwargs)
+
+    # rpc GetMibDeviceData(common.ID) returns(omci.MibDeviceData) {...};
+    @keyword
+    @is_connected
+    def voltha_service_get_mib_device_data(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetMibDeviceData, common_pb2.ID, param_dict, **kwargs)
+
+    # rpc GetAlarmDeviceData(common.ID) returns(omci.AlarmDeviceData) {...};
+    @keyword
+    @is_connected
+    def voltha_service_get_alarm_device_data(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetAlarmDeviceData, common_pb2.ID, param_dict, **kwargs)
+
+    # rpc SimulateAlarm(SimulateAlarmRequest) returns(common.OperationResp) {...};
+    @keyword
+    @is_connected
+    def voltha_service_simulate_alarm(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.SimulateAlarm, voltha_pb2.SimulateAlarmRequest, param_dict, **kwargs)
+
+    # rpc Subscribe (OfAgentSubscriber) returns (OfAgentSubscriber) {...};
+    @keyword
+    @is_connected
+    def voltha_service_subscribe(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.Subscribe, voltha_pb2.OfAgentSubscriber, param_dict, **kwargs)
+
+    # rpc EnablePort(voltha.Port) returns(google.protobuf.Empty) {...};
+    @keyword
+    @is_connected
+    def voltha_service_enable_port(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.EnablePort, voltha_pb2.Port, param_dict, **kwargs)
+
+    # rpc DisablePort(voltha.Port) returns(google.protobuf.Empty) {...};
+    @keyword
+    @is_connected
+    def voltha_service_disable_port(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.DisablePort, voltha_pb2.Port, param_dict, **kwargs)
+
+    # rpc GetExtValue(common.ValueSpecifier) returns(common.ReturnValues) {...};
+    @keyword
+    @is_connected
+    def voltha_service_get_ext_value(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.GetExtValue, common_pb2.ValueSpecifier, param_dict, **kwargs)
+
+    # rpc SetExtValue(ValueSet) returns(google.protobuf.Empty) {...};
+    @keyword
+    @is_connected
+    def voltha_service_set_ext_value(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.SetExtValue, voltha_pb2.ValueSet, param_dict, **kwargs)
+
+    # rpc StartOmciTestAction(OmciTestRequest) returns(TestResponse) {...};
+    @keyword
+    @is_connected
+    def voltha_service_start_omci_test_action(self, param_dict, **kwargs):
+        return self._grpc_helper(self.stub.StartOmciTestAction, voltha_pb2.OmciTestRequest, param_dict, **kwargs)
diff --git a/grpc_robot/services/voltha/voltha_4_2_0/__init__.py b/grpc_robot/services/voltha/voltha_4_2_0/__init__.py
new file mode 100644
index 0000000..d482d83
--- /dev/null
+++ b/grpc_robot/services/voltha/voltha_4_2_0/__init__.py
@@ -0,0 +1,18 @@
+# Copyright 2020-present Open Networking Foundation
+# Original copyright 2020-present ADTRAN, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+from ..voltha_4_0_13.extension import *
+from ..voltha_4_0_13.health_service import *
+from ..voltha_4_0_13.openolt import *
+from ..voltha_4_0_13.ponsim import *
+from ..voltha_4_0_13.voltha_service import *