diff --git a/agent_based/inv_cisco_wlc_aps_lwap.py b/agent_based/inv_cisco_wlc_aps_lwap.py index c39fee89fbd2a6379cbdcc45b714ad1d5171e69c..5b4522fe33d16729b379961c7352c4267e389671 100644 --- a/agent_based/inv_cisco_wlc_aps_lwap.py +++ b/agent_based/inv_cisco_wlc_aps_lwap.py @@ -15,6 +15,7 @@ # 2020-03-15: added support for CMK1.6x # 2021-07-11: rewritten for CMK 2.0 # 2021-07-15: added support for Catalyst 9800 Controllers +# 2023-06-07: moved gui files to ~/local/lib/chek_mk/gui/plugins/... from cmk.base.plugins.agent_based.agent_based_api.v1 import ( register, @@ -337,8 +338,7 @@ def inventory_cisco_wlc_aps_lwap(params, section) -> InventoryResult: register.snmp_section( name='inv_cisco_wlc_aps_lwap', parse_function=parse_inv_cisco_wlc_aps_lwap, - fetch= - SNMPTree( + fetch=SNMPTree( base='.1.3.6.1.4.1.9.9.513.1.1.1.1', # CISCO-LWAPP-AP-MIB::cLApEntry oids=[ '2', # cLApIfMacAddress (2) diff --git a/gui/views/inv_cisco_wlc_aps_lwap.py b/gui/views/inv_cisco_wlc_aps_lwap.py new file mode 100644 index 0000000000000000000000000000000000000000..e0225aff5c57fd6974e9c5791eb48e8f6f5eea8e --- /dev/null +++ b/gui/views/inv_cisco_wlc_aps_lwap.py @@ -0,0 +1,78 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +from cmk.gui.plugins.views.utils import ( + inventory_displayhints, +) +from cmk.gui.i18n import _ +from cmk.gui.plugins.views.inventory import declare_invtable_view + +inventory_displayhints.update({ + '.networking.wlan.controller.accesspoints_lwap:': { + 'title': _('Access Points LWAP info'), + 'keyorder': [ + 'name', 'if_mac_address', 'admin', 'power_status', 'led_state', 'last_reboot_reason', 'telnet', 'ssh', + 'encryption_supported', 'encryption', 'data_encryption', 'wips', + ], + 'view': 'invwlcapslwap_of_host', + }, + '.networking.wlan.controller.accesspoints_lwap:*.name': {'title': _('Name')}, + '.networking.wlan.controller.accesspoints_lwap:*.if_mac_address': {'title': _('MAC Address')}, + '.networking.wlan.controller.accesspoints_lwap:*.admin': {'title': _('Admin state')}, + '.networking.wlan.controller.accesspoints_lwap:*.power_status': {'title': _('Power status')}, + '.networking.wlan.controller.accesspoints_lwap:*.led_state': {'title': _('LED state')}, + '.networking.wlan.controller.accesspoints_lwap:*.last_reboot_reason': {'title': _('Last reboot reason')}, + '.networking.wlan.controller.accesspoints_lwap:*.telnet': {'title': _('Telnet enabled'), 'short': _('Telnet')}, + '.networking.wlan.controller.accesspoints_lwap:*.ssh': {'title': _('SSH enabled'), 'short': _('SSH')}, + '.networking.wlan.controller.accesspoints_lwap:*.encryption_supported': {'title': _('Encryption supported')}, + '.networking.wlan.controller.accesspoints_lwap:*.encryption': {'title': _('Encryption enabled')}, + '.networking.wlan.controller.accesspoints_lwap:*.data_encryption': {'title': _('Data encryption')}, + '.networking.wlan.controller.accesspoints_lwap:*.wips': {'title': _('wireless IPS,')}, + + '.networking.wlan.controller.accesspoints_lwap:*.rogue_detection': {'title': _('Rogue detection enabled'), + 'short': _('Rouge detection')}, + '.networking.wlan.controller.accesspoints_lwap:*.pwr_injector_state': {'title': _('Pow. inj. state')}, + '.networking.wlan.controller.accesspoints_lwap:*.pwr_injector_selection': {'title': _('Pow. inj. selection')}, + '.networking.wlan.controller.accesspoints_lwap:*.pwr_pre_std_state': {'title': _('PoE pre standard')}, + '.networking.wlan.controller.accesspoints_lwap:*.pwr_injector_sw_mac_addr': {'title': _('Pow. inj. MAC address')}, + '.networking.wlan.controller.accesspoints_lwap:*.wlc_primary_address': {'title': _('primary WLC')}, + '.networking.wlan.controller.accesspoints_lwap:*.wlc_secondary_address': {'title': _('secondary WLC')}, + '.networking.wlan.controller.accesspoints_lwap:*.wlc_tertiary_address': {'title': _('tertiary WLC')}, + '.networking.wlan.controller.accesspoints_lwap:*.max_#_of_dot11_slots': {'title': _('max # of dot11 slots')}, + '.networking.wlan.controller.accesspoints_lwap:*.max_#_of_ethernet_slots': {'title': _('max # of ethernet slots')}, + '.networking.wlan.controller.accesspoints_lwap:*.failover_priority': {'title': _('failover priority')}, + '.networking.wlan.controller.accesspoints_lwap:*.monitor_mode_optimization': { + 'title': _('monitor mode optimization')}, + '.networking.wlan.controller.accesspoints_lwap:*.amsdu': {'title': _('Aggregate MAC Service Data Unit'), + 'short': _('AMSDU')}, + '.networking.wlan.controller.accesspoints_lwap:*.tcp_mss': {'title': _('TCP MSS')}, + '.networking.wlan.controller.accesspoints_lwap:*.port_number': {'title': _('Port number'), 'short': _('Port #')}, + '.networking.wlan.controller.accesspoints_lwap:*.venue_config_venue_group': {'title': _('Venue group')}, + '.networking.wlan.controller.accesspoints_lwap:*.venue_config_venue_type': {'title': _('Venue type')}, + '.networking.wlan.controller.accesspoints_lwap:*.venue_config_venue_name': {'title': _('Venue name')}, + '.networking.wlan.controller.accesspoints_lwap:*.venue_config_language': {'title': _('Venue language')}, + '.networking.wlan.controller.accesspoints_lwap:*.trunk_vlan': {'title': _('Mgmt VLAN ID')}, + '.networking.wlan.controller.accesspoints_lwap:*.trunk_vlan_status': {'title': _('Mgmt VLAN tagged state')}, + '.networking.wlan.controller.accesspoints_lwap:*.location': {'title': _('Location')}, + '.networking.wlan.controller.accesspoints_lwap:*.submode': {'title': _('AP submode')}, + '.networking.wlan.controller.accesspoints_lwap:*.real_time_stats_mode_enabled': {'title': _('Real time stats')}, + '.networking.wlan.controller.accesspoints_lwap:*.upgrade_from_version': {'title': _('Upgrade from version')}, + '.networking.wlan.controller.accesspoints_lwap:*.upgrade_to_version': {'title': _('Upgrade to version')}, + '.networking.wlan.controller.accesspoints_lwap:*.upgrade_failure_cause': {'title': _('Upgrade failure cause')}, + '.networking.wlan.controller.accesspoints_lwap:*.max_client_limit_number_trap': {'title': _('Max client limit')}, + '.networking.wlan.controller.accesspoints_lwap:*.max_client_limit_cause': {'title': _('Max client cause')}, + '.networking.wlan.controller.accesspoints_lwap:*.max_client_limit_set': {'title': _('Max client set')}, + '.networking.wlan.controller.accesspoints_lwap:*.floor_label': {'title': _('Floor label')}, + '.networking.wlan.controller.accesspoints_lwap:*.adj_channel_rogue_enabled': {'title': _('Adj. channel rogue')}, + '.networking.wlan.controller.accesspoints_lwap:*.sys_net_id': {'title': _('Sys net ID')}, + '.networking.wlan.controller.accesspoints_lwap:*.antenna_band_mode': {'title': _('Antenna band mode')}, + '.networking.wlan.controller.accesspoints_lwap:*.module_inserted': {'title': _('Module inserted')}, + '.networking.wlan.controller.accesspoints_lwap:*.enable_module': {'title': _('Module enabled')}, + '.networking.wlan.controller.accesspoints_lwap:*.is_universal': {'title': _('AP is universal')}, + '.networking.wlan.controller.accesspoints_lwap:*.universal_prime_status': {'title': _('AP universal prime status')}, + '.networking.wlan.controller.accesspoints_lwap:*.is_master': {'title': _('AP is master')}, + '.networking.wlan.controller.accesspoints_lwap:*.ble_fw_download_status': {'title': _('Ble FW downaload status')}, +}) + +declare_invtable_view('invwlcapslwap', '.networking.wlan.controller.accesspoints_lwap:', _('Cisco WLC APs LWAP info'), + _('Cisco WLC APs LWAP info)')) diff --git a/gui/wato/inv_cisco_wlc_aps_lwap.py b/gui/wato/inv_cisco_wlc_aps_lwap.py new file mode 100644 index 0000000000000000000000000000000000000000..668a401489d0148f8130d87bd724bbbd8105dc47 --- /dev/null +++ b/gui/wato/inv_cisco_wlc_aps_lwap.py @@ -0,0 +1,109 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# +# +from cmk.gui.i18n import _ +from cmk.gui.plugins.wato.utils import ( + HostRulespec, + rulespec_registry, +) +from cmk.gui.valuespec import ( + Dictionary, + ListChoice, +) + +from cmk.gui.plugins.wato.inventory import ( + RulespecGroupInventory, +) + +_removecolumns_cisco_wlc_aps_lwap = [ + # ('name', 'Name'), + # (if_mac_address', 'MAC Address'), + # ('admin', 'Admin state'), + # ('power_status', 'Power status'), + # ('led_state', 'LED state'), + # ('last_reboot_reason', 'Last reboot reason'), + # ('telnet', 'Telnet enabled'), + # ('ssh', 'SSH enabled'), + # ('encryption_supported', 'Encryption supported'), + # ('data_encryption', 'Data encryption'), + # ('encryption', 'Encryption enabled'), + # ('wips', 'wireless IPS,'), + + ('adj_channel_rogue_enabled', 'Adj. channel rogue'), + ('amsdu', 'Aggregate MAC Service Data Unit'), + ('antenna_band_mode', 'Antenna band mode'), + ('is_master', 'AP is master'), + ('is_universal', 'AP is universal'), + ('submode', 'AP submode'), + ('universal_prime_status', 'AP universal prime status'), + ('ble_fw_download_status', 'Ble FW downaload status'), + ('failover_priority', 'failover priority'), + ('floor_label', 'Floor label'), + ('location', 'Location'), + ('max_#_of_dot11_slots', 'max # of dot11 slots'), + ('max_#_of_ethernet_slots', 'max # of ethernet slots'), + ('max_client_limit_cause', 'Max client cause'), + ('max_client_limit_number_trap', 'Max client limit'), + ('max_client_limit_set', 'Max client set'), + ('trunk_vlan', 'Mgmt VLAN ID'), + ('trunk_vlan_status', 'Mgmt VLAN tagged state'), + ('enable_module', 'Module enabled'), + ('module_inserted', 'Module inserted'), + ('monitor_mode_optimization', 'monitor mode optimization'), + ('port_number', 'Port number'), + ('pwr_injector_selection', 'Pow. inj. selection'), + ('pwr_injector_state', 'Pow. inj. state'), + ('pwr_injector_sw_mac_addr', 'Pow. inj. MAC address'), + ('pwr_pre_std_state', 'PoE pre standard'), + ('real_time_stats_mode_enabled', 'Real time stats'), + ('rogue_detection', 'Rogue detection enabled'), + ('sys_net_id', 'Sys net ID'), + ('tcp_mss', 'TCP MSS'), + ('upgrade_failure_cause', 'Upgrade failure cause'), + ('upgrade_from_version', 'Upgrade from version'), + ('upgrade_to_version', 'Upgrade to version'), + ('venue_config_language', 'Venue language'), + ('venue_config_venue_group', 'Venue group'), + ('venue_config_venue_name', 'Venue name'), + ('venue_config_venue_type', 'Venue type'), + ('wlc_primary_address', 'primary WLC'), + ('wlc_secondary_address', 'secondary WLC'), + ('wlc_tertiary_address', 'tertiary WLC'), +] + +_removecolumns_defaul_cisco_wlc_aps_lwap = [ + 'adj_channel_rogue_enabled', 'amsdu', 'is_master', 'is_universal', 'submode', + 'universal_prime_status', 'max_client_limit_cause', 'ble_fw_download_status', 'antenna_band_mode', + 'module_inserted', 'floor_label', 'max_client_limit_set', 'enable_module', + 'pwr_injector_sw_mac_addr', 'pwr_injector_selection', 'pwr_injector_state', 'pwr_pre_std_state', + 'trunk_vlan', 'trunk_vlan_status', 'tcp_mss', 'monitor_mode_optimization', 'sys_net_id', + 'upgrade_failure_cause', 'upgrade_from_version', 'upgrade_to_version', 'venue_config_language', + 'venue_config_venue_group', 'venue_config_venue_name', 'port_number', 'venue_config_venue_type', + 'max_#_of_dot11_slots', 'max_#_of_ethernet_slots', 'failover_priority', 'wlc_primary_address', + 'wlc_secondary_address', 'wlc_tertiary_address' +] + + +def _valuespec_inv_cisco_wlc_aps_lwap(): + return Dictionary( + title=_('Cisco WLC AP LWAP info'), + elements=[ + ('removecolumns', + ListChoice( + title=_('list of columns to remove'), + help=_('information to remove from inventory'), + choices=_removecolumns_cisco_wlc_aps_lwap, + default_value=_removecolumns_defaul_cisco_wlc_aps_lwap, + )), + ], + ) + + +rulespec_registry.register( + HostRulespec( + group=RulespecGroupInventory, + match_type='dict', + name='inv_parameters:inv_cisco_wlc_aps_lwap', + valuespec=_valuespec_inv_cisco_wlc_aps_lwap, + )) diff --git a/inv_cisco_wlc_aps_lwap-0.4.0-20230607.mkp b/inv_cisco_wlc_aps_lwap-0.4.0-20230607.mkp new file mode 100644 index 0000000000000000000000000000000000000000..f82949a6a12748cb4bb6e3631f8f6fc3d7e415b1 Binary files /dev/null and b/inv_cisco_wlc_aps_lwap-0.4.0-20230607.mkp differ diff --git a/inv_cisco_wlc_aps_lwap.mkp b/inv_cisco_wlc_aps_lwap.mkp index 752bb12af17f9f2b66b348d2904cca202a693b93..f82949a6a12748cb4bb6e3631f8f6fc3d7e415b1 100644 Binary files a/inv_cisco_wlc_aps_lwap.mkp and b/inv_cisco_wlc_aps_lwap.mkp differ diff --git a/packages/inv_cisco_wlc_aps_lwap b/packages/inv_cisco_wlc_aps_lwap index 94f0e6deb2cb4a23ca94f301c4821eabd0af3e2b..d967a8b2b6e2a6ad3698f2e005e8cd39f988fd95 100644 --- a/packages/inv_cisco_wlc_aps_lwap +++ b/packages/inv_cisco_wlc_aps_lwap @@ -7,12 +7,11 @@ '2021-07-11: rewritten for CMK 2.0\n', 'download_url': 'http://thl-cmk.hopto.org', 'files': {'agent_based': ['inv_cisco_wlc_aps_lwap.py'], - 'web': ['plugins/views/inv_cisco_wlc_aps_lwap.py', - 'plugins/wato/inv_cisco_wlc_aps_lwap.py']}, + 'gui': ['views/inv_cisco_wlc_aps_lwap.py', + 'wato/inv_cisco_wlc_aps_lwap.py']}, 'name': 'inv_cisco_wlc_aps_lwap', - 'num_files': 3, 'title': 'inventory for CISCO-LWAPP-AP-MIB', - 'version': '20210715.v0.4a', - 'version.min_required': '2.0.0', - 'version.packaged': '2021.07.14', + 'version': '0.4.0-20230607', + 'version.min_required': '2.1.0b1', + 'version.packaged': '2.1.0p21', 'version.usable_until': None} \ No newline at end of file