diff --git a/agent_based/cisco_asyncos_bandwidth.py b/agent_based/cisco_asyncos_bandwidth.py index 0e4eccdae1cd211881f3db683720b610bf908992..4d739945661637de6bec45abec10d2f3e7dc64c8 100644 --- a/agent_based/cisco_asyncos_bandwidth.py +++ b/agent_based/cisco_asyncos_bandwidth.py @@ -9,8 +9,10 @@ # # only use full for Cisco WSA appliances # +# 2023-03-06: fixed: IndexError in parse function +# -from typing import Mapping, List, NamedTuple +from typing import Mapping, List, NamedTuple, Optional from cmk.base.plugins.agent_based.agent_based_api.v1.type_defs import ( DiscoveryResult, @@ -36,13 +38,16 @@ class CiscoAsyncosBandwidth(NamedTuple): bandwidth_day: int -# [[['0', '0', '247']]] -def parse_cisco_asyncos_bandwidth(string_table: List[StringTable]) -> CiscoAsyncosBandwidth: - return CiscoAsyncosBandwidth( - bandwidth_now=int(string_table[0][0][0]), - bandwidth_hour=int(string_table[0][0][1]), - bandwidth_day = int(string_table[0][0][2]), - ) +# [['0', '0', '247']] +def parse_cisco_asyncos_bandwidth(string_table: StringTable) -> Optional[CiscoAsyncosBandwidth]: + try: + return CiscoAsyncosBandwidth( + bandwidth_now=int(string_table[0][0]), + bandwidth_hour=int(string_table[0][1]), + bandwidth_day = int(string_table[0][2]), + ) + except IndexError: + return def discovery_cisco_asyncos_bandwidth(section: CiscoAsyncosBandwidth) -> DiscoveryResult: @@ -82,16 +87,14 @@ def check_cisco_asyncos_bandwidth(params, section: CiscoAsyncosBandwidth) -> Che register.snmp_section( name='cisco_asyncos_bandwidth', parse_function=parse_cisco_asyncos_bandwidth, - fetch=[ - SNMPTree( + fetch= SNMPTree( base='.1.3.6.1.4.1.15497.1.2.3.7.4', # ASYNCOSWEBSECURITYAPPLIANCE-MIB::proxyRecentBandWTotPerf oids=[ '1', # cacheBwidthTotalNow '3', # cacheBwidthTotal1hrMean '5', # cacheBwidthTotal1dayMean ] - ), - ], + ), detect=contains('.1.3.6.1.2.1.1.1.0', 'AsyncOS'), ) diff --git a/agent_based/cisco_asyncos_cache.py b/agent_based/cisco_asyncos_cache.py index dda48c618bf15b2ccd3d0c762141d4233e3d0dfd..bf535717efeeeb0d4f265621c5b4bb5f07de8fe1 100644 --- a/agent_based/cisco_asyncos_cache.py +++ b/agent_based/cisco_asyncos_cache.py @@ -10,7 +10,7 @@ # only use full for Cisco WSA appliances # -from typing import Mapping, List, NamedTuple +from typing import Mapping, List, NamedTuple, Optional from cmk.base.plugins.agent_based.agent_based_api.v1.type_defs import ( DiscoveryResult, @@ -38,15 +38,18 @@ class CiscoAsyncosCache(NamedTuple): cache_total_resptime: int -# [[['0', '0', '0', '0', '0']]] -def parse_cisco_asyncos_cache(string_table: List[StringTable]) -> CiscoAsyncosCache: - return CiscoAsyncosCache( - cache_hits_now=int(string_table[0][0][0]), - cache_misses_now=int(string_table[0][0][1]), - cache_hit_resptime_now=int(string_table[0][0][2]), - cache_miss_resptime_now=int(string_table[0][0][3]), - cache_total_resptime=int(string_table[0][0][4]), - ) +# [['0', '0', '0', '0', '0']] +def parse_cisco_asyncos_cache(string_table: StringTable) -> Optional[CiscoAsyncosCache]: + try: + return CiscoAsyncosCache( + cache_hits_now=int(string_table[0][0]), + cache_misses_now=int(string_table[0][1]), + cache_hit_resptime_now=int(string_table[0][2]), + cache_miss_resptime_now=int(string_table[0][3]), + cache_total_resptime=int(string_table[0][4]), + ) + except IndexError: + return def discovery_cisco_asyncos_cache(section: CiscoAsyncosCache) -> DiscoveryResult: @@ -68,8 +71,7 @@ def check_cisco_asyncos_cache(params, section: CiscoAsyncosCache) -> CheckResult register.snmp_section( name='cisco_asyncos_cache', parse_function=parse_cisco_asyncos_cache, - fetch=[ - SNMPTree( + fetch= SNMPTree( base='.1.3.6.1.4.1.15497.1.2.3.7', # ASYNCOSWEBSECURITYAPPLIANCE-MIB::proxyRecentPerf oids=[ '5.1', # cacheHitsNow @@ -79,7 +81,6 @@ register.snmp_section( '9.1', # cacheTotalRespTimeNow ] ), - ], detect=contains('.1.3.6.1.2.1.1.1.0', 'AsyncOS'), ) diff --git a/agent_based/cisco_asyncos_conn.py b/agent_based/cisco_asyncos_conn.py index c5da832faa9414ee07134da35c505096afec5c9e..f5436cd60e0fb13855a5fec62ebb3f44005c09e9 100644 --- a/agent_based/cisco_asyncos_conn.py +++ b/agent_based/cisco_asyncos_conn.py @@ -9,7 +9,7 @@ # # only use full for Cisco WSA appliances # -from typing import Mapping, List, NamedTuple +from typing import Mapping, List, NamedTuple, Optional from cmk.base.plugins.agent_based.agent_based_api.v1.type_defs import ( DiscoveryResult, @@ -35,13 +35,16 @@ class CiscoAsyncosConn(NamedTuple): cacheClientMaxConns: int -# [[['0', '5', '66277']]] -def parse_cisco_asyncos_conn(string_table: List[StringTable]) -> CiscoAsyncosConn: - return CiscoAsyncosConn( - cacheClientIdleConns=int(string_table[0][0][0]), - cacheClientTotalConns=int(string_table[0][0][1]), - cacheClientMaxConns=int(string_table[0][0][2]), - ) +# [['0', '5', '66277']] +def parse_cisco_asyncos_conn(string_table: StringTable) -> Optional[CiscoAsyncosConn]: + try: + return CiscoAsyncosConn( + cacheClientIdleConns=int(string_table[0][0]), + cacheClientTotalConns=int(string_table[0][1]), + cacheClientMaxConns=int(string_table[0][2]), + ) + except IndexError: + return def discovery_cisco_asyncos_conn(section: CiscoAsyncosConn) -> DiscoveryResult: @@ -61,8 +64,7 @@ def check_cisco_asyncos_conn(params, section: CiscoAsyncosConn) -> CheckResult: register.snmp_section( name='cisco_asyncos_conn', parse_function=parse_cisco_asyncos_conn, - fetch=[ - SNMPTree( + fetch= SNMPTree( base='.1.3.6.1.4.1.15497.1.2.3.2', # ASYNCOSWEBSECURITYAPPLIANCE-MIB::proxyClientSidePerf oids=[ '7', # cacheClientIdleConns @@ -70,7 +72,6 @@ register.snmp_section( '9', # cacheClientMaxConns ] ), - ], detect=contains('.1.3.6.1.2.1.1.1.0', 'AsyncOS'), ) diff --git a/agent_based/cisco_asyncos_dns.py b/agent_based/cisco_asyncos_dns.py index 664d265cacb336a6cdee6964478d6a785b2254fa..534f79af3811fc2a7c0728a4d3546282d6e7d6dd 100644 --- a/agent_based/cisco_asyncos_dns.py +++ b/agent_based/cisco_asyncos_dns.py @@ -19,7 +19,7 @@ # ASYNCOS-MAIL-MIB::pendingDNSRequests.0 = Gauge32: 0 # # -from typing import Mapping, List, NamedTuple +from typing import Mapping, List, NamedTuple, Optional from cmk.base.plugins.agent_based.agent_based_api.v1.type_defs import ( DiscoveryResult, @@ -44,12 +44,15 @@ class CiscoAsyncosDns(NamedTuple): pendingDNSRequests: int -# [[['0', '0']]] -def parse_cisco_asyncos_dns(string_table: List[StringTable]) -> CiscoAsyncosDns: - return CiscoAsyncosDns( - outstandingDNSRequests=int(string_table[0][0][0]), - pendingDNSRequests=int(string_table[0][0][1]), - ) +# [['0', '0']] +def parse_cisco_asyncos_dns(string_table: StringTable) -> Optional[CiscoAsyncosDns]: + try: + return CiscoAsyncosDns( + outstandingDNSRequests=int(string_table[0][0]), + pendingDNSRequests=int(string_table[0][1]), + ) + except IndexError: + return def discovery_cisco_asyncos_dns(section: CiscoAsyncosDns) -> DiscoveryResult: @@ -68,15 +71,13 @@ def check_cisco_asyncos_dns(params, section: CiscoAsyncosDns) -> CheckResult: register.snmp_section( name='cisco_asyncos_dns', parse_function=parse_cisco_asyncos_dns, - fetch=[ - SNMPTree( + fetch= SNMPTree( base='.1.3.6.1.4.1.15497.1.1.1', # ASYNCOS-MAIL-MIB oids=[ '15', # outstandingDNSRequests '16', # pendingDNSRequests ] ), - ], detect=contains('.1.3.6.1.2.1.1.1.0', 'AsyncOS'), ) diff --git a/agent_based/cisco_asyncos_messageage.py b/agent_based/cisco_asyncos_messageage.py index d07894269f90a64dee1487525cc20b65eeb6d3d5..91383d7bf948143636414608c6dd257ac5f28606 100644 --- a/agent_based/cisco_asyncos_messageage.py +++ b/agent_based/cisco_asyncos_messageage.py @@ -17,7 +17,7 @@ # ASYNCOS-MAIL-MIB::oldestMessageAge.0 = Gauge32: 259706 # -from typing import Mapping, List, NamedTuple +from typing import Mapping, List, NamedTuple, Optional from cmk.base.plugins.agent_based.agent_based_api.v1.type_defs import ( DiscoveryResult, @@ -41,11 +41,14 @@ from cmk.base.plugins.agent_based.agent_based_api.v1 import ( class CiscoAsyncosMessageage(NamedTuple): messageage: int -# [[['259297']]] -def parse_cisco_asyncos_messageage(string_table: List[StringTable]) -> CiscoAsyncosMessageage: - return CiscoAsyncosMessageage( - messageage=int(string_table[0][0][0]), - ) +# [['259297']] +def parse_cisco_asyncos_messageage(string_table: StringTable) -> Optional[CiscoAsyncosMessageage]: + try: + return CiscoAsyncosMessageage( + messageage=int(string_table[0][0]), + ) + except IndexError: + return def discovery_cisco_asyncos_messageage(section: CiscoAsyncosMessageage) -> DiscoveryResult: @@ -65,14 +68,12 @@ def check_cisco_asyncos_messageage(params, section: CiscoAsyncosMessageage) -> C register.snmp_section( name='cisco_asyncos_messageage', parse_function=parse_cisco_asyncos_messageage, - fetch=[ - SNMPTree( + fetch= SNMPTree( base='.1.3.6.1.4.1.15497.1.1.1', # ASYNCOS-MAIL-MIB oids=[ '14', # oldestMessageAge ] ), - ], detect=contains('.1.3.6.1.2.1.1.1.0', 'AsyncOS'), ) diff --git a/agent_based/cisco_asyncos_queue.py b/agent_based/cisco_asyncos_queue.py index 32a67a21f343a71a69fb0ff2ec7769f1002d1bc1..b4a7988b7fa40b412b82b19fc7d553b4b1340f8f 100644 --- a/agent_based/cisco_asyncos_queue.py +++ b/agent_based/cisco_asyncos_queue.py @@ -12,7 +12,7 @@ # 2021-03-24: rewrite for CMK 2.0 # -from typing import Mapping, List, NamedTuple +from typing import Mapping, List, NamedTuple, Optional from cmk.base.plugins.agent_based.agent_based_api.v1.type_defs import ( DiscoveryResult, @@ -56,13 +56,16 @@ def get_cmk_state(st: str) -> State: return states.get(st, State.CRIT) -# [[['1', '1']]] -def parse_cisco_asyncos_messageage(string_table: List[StringTable]) -> CiscoAsyncosQueue: - return CiscoAsyncosQueue( - state=get_cmk_state(string_table[0][0][0]), - status_readable=get_status_readable(string_table[0][0][0]), - workQueueMessages=int(string_table[0][0][1]) - ) +# [['1', '1']] +def parse_cisco_asyncos_messageage(string_table: StringTable) -> Optional[CiscoAsyncosQueue]: + try: + return CiscoAsyncosQueue( + state=get_cmk_state(string_table[0][0]), + status_readable=get_status_readable(string_table[0][0]), + workQueueMessages=int(string_table[0][1]) + ) + except IndexError: + return def discovery_cisco_asyncos_queue(section: CiscoAsyncosQueue) -> DiscoveryResult: @@ -82,15 +85,13 @@ def check_cisco_asyncos_queue(params, section: CiscoAsyncosQueue) -> CheckResult register.snmp_section( name='cisco_asyncos_queue', parse_function=parse_cisco_asyncos_messageage, - fetch=[ - SNMPTree( + fetch= SNMPTree( base='.1.3.6.1.4.1.15497.1.1.1', # ASYNCOS-MAIL-MIB oids=[ '5', # queueAvailabilityStatus '11' # workQueueMessages ] ), - ], detect=contains('.1.3.6.1.2.1.1.1.0', 'AsyncOS'), ) diff --git a/agent_based/cisco_asyncos_resources.py b/agent_based/cisco_asyncos_resources.py index 0f4cda0ba9c5f5ffa641fcc2318af5af468bde98..c6041a2d3abe8d0428103623c079085ade426925 100644 --- a/agent_based/cisco_asyncos_resources.py +++ b/agent_based/cisco_asyncos_resources.py @@ -17,7 +17,7 @@ # ASYNCOS-MAIL-MIB::resourceConservationReason.0 = INTEGER: noResourceConservation(1) # # -from typing import Mapping, List, NamedTuple +from typing import Mapping, List, NamedTuple, Optional from cmk.base.plugins.agent_based.agent_based_api.v1.type_defs import ( DiscoveryResult, @@ -62,11 +62,14 @@ class CiscoAsyncosResources(NamedTuple): status_readable: str -def parse_cisco_asyncos_bandwidth(string_table: List[StringTable]) -> CiscoAsyncosResources: - return CiscoAsyncosResources( - state=get_cmk_state(string_table[0][0][0]), - status_readable=get_status_readable(string_table[0][0][0]) - ) +def parse_cisco_asyncos_bandwidth(string_table: StringTable) -> Optional[CiscoAsyncosResources]: + try: + return CiscoAsyncosResources( + state=get_cmk_state(string_table[0][0]), + status_readable=get_status_readable(string_table[0][0]) + ) + except IndexError: + return def discovery_cisco_asyncos_resources(section: CiscoAsyncosResources) -> DiscoveryResult: @@ -80,14 +83,12 @@ def check_cisco_asyncos_resources(section: CiscoAsyncosResources) -> CheckResult register.snmp_section( name='cisco_asyncos_resources', parse_function=parse_cisco_asyncos_bandwidth, - fetch=[ - SNMPTree( + fetch= SNMPTree( base='.1.3.6.1.4.1.15497.1.1.1', # ASYNCOS-MAIL-MIB oids=[ '6', # resourceConservationReason ] ), - ], detect=contains('.1.3.6.1.2.1.1.1.0', 'AsyncOS'), ) diff --git a/agent_based/cisco_asyncos_temp.py b/agent_based/cisco_asyncos_temp.py index d2d0fe1862d19175b27378a1ea518925b667732b..bb38d10d341d2a051c2e0d097f6ea39eccb6efa5 100644 --- a/agent_based/cisco_asyncos_temp.py +++ b/agent_based/cisco_asyncos_temp.py @@ -36,6 +36,7 @@ from cmk.base.plugins.agent_based.agent_based_api.v1 import ( check_levels, SNMPTree, contains, + get_value_store, ) from cmk.base.plugins.agent_based.utils.temperature import ( @@ -45,11 +46,11 @@ from cmk.base.plugins.agent_based.utils.temperature import ( # -# [[['22', 'FP_TEMP_SENSOR']]] +# [['22', 'FP_TEMP_SENSOR']] # -def parse_cisco_asyncos_temp(string_table: List[StringTable]) -> dict: +def parse_cisco_asyncos_temp(string_table: StringTable) -> dict: sensors = {} - for sensor in string_table[0]: + for sensor in string_table: try: value, item = sensor item = item.replace('_', ' ') @@ -70,6 +71,7 @@ def check_cisco_asyncos_temp(item, params: TempParamType, section) -> CheckResul section[item], params=params, unique_name='check_cisco_asyncos_temp.%s' % item, + value_store=get_value_store(), ) except KeyError: pass @@ -78,15 +80,13 @@ def check_cisco_asyncos_temp(item, params: TempParamType, section) -> CheckResul register.snmp_section( name='cisco_asyncos_temp', parse_function=parse_cisco_asyncos_temp, - fetch=[ - SNMPTree( + fetch= SNMPTree( base='.1.3.6.1.4.1.15497.1.1.1.9.1', # ASYNCOS-MAIL-MIB::temperatureEntry oids=[ '2', # degreesCelsius '3', # temperatureName ] ), - ], detect=contains('.1.3.6.1.2.1.1.1.0', 'AsyncOS'), ) diff --git a/cisco_asyncos.mkp b/cisco_asyncos.mkp index 3102a3f16c6c7ba54cb850112f5f2df6cb36ff9b..60bcf605212b7552bb0db41df2d304ff042462d5 100644 Binary files a/cisco_asyncos.mkp and b/cisco_asyncos.mkp differ diff --git a/gui/wato/cisco_asyncos_feature_keys.py b/gui/wato/cisco_asyncos_feature_keys.py new file mode 100644 index 0000000000000000000000000000000000000000..8b38a99ae5511dee47bc8a2adc4ed95a8b5d9df1 --- /dev/null +++ b/gui/wato/cisco_asyncos_feature_keys.py @@ -0,0 +1,50 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# +# +from cmk.gui.i18n import _ +from cmk.gui.valuespec import ( + Dictionary, + Integer, + TextAscii, + ListOfStrings, + Tuple, +) + +from cmk.gui.plugins.wato.utils import ( + CheckParameterRulespecWithItem, + rulespec_registry, + RulespecGroupCheckParametersNetworking, +) + + +def _parameter_valuespec_cisco_asyncos_feature_keys(): + return Dictionary(elements=[ + ('features_ignore', + ListOfStrings( + title=_('feature keys features to ignore'), + orientation='vertical', + allow_empty=False, + help=_('there will be no warning/critical if this features are expired' + 'Examples: McAfee, IronPort Email Encryption, Data Loss Prevention, etc.'), + ) + ), + ('expire', + Tuple( + title=_('Levels for feature key expiration in days'), + elements=[ + Integer(title=_('Warning'), default_value=30, unit=_('days before expiration')), + Integer(title=_('Critical'), default_value=7, unit=_('days before expiration')), + ])), + ]) + + +rulespec_registry.register( + CheckParameterRulespecWithItem( + check_group_name='cisco_asyncos_feature_keys', + group=RulespecGroupCheckParametersNetworking, + item_spec=lambda: TextAscii(title=_('Cisco AsyncOS feature keys'), ), + match_type='dict', + parameter_valuespec=_parameter_valuespec_cisco_asyncos_feature_keys, + title=lambda: _('Cisco AsyncOS feature keys'), + )) diff --git a/gui/wato/cisco_asyncos_license.py b/gui/wato/cisco_asyncos_license.py new file mode 100644 index 0000000000000000000000000000000000000000..fb7cbcafd99b6ca5d8484d8aa96f7277a1bf053b --- /dev/null +++ b/gui/wato/cisco_asyncos_license.py @@ -0,0 +1,51 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# +# +from cmk.gui.i18n import _ +from cmk.gui.valuespec import ( + Dictionary, + Integer, + TextAscii, + ListOfStrings, + Tuple, +) + +from cmk.gui.plugins.wato.utils import ( + CheckParameterRulespecWithItem, + rulespec_registry, + RulespecGroupCheckParametersNetworking, +) + + +def _parameter_valuespec_cisco_asyncos_license(): + return Dictionary(elements=[ + ('features_ignore', + ListOfStrings( + title=_('License features to ignore'), + orientation='vertical', + allow_empty=False, + # valuespec=Integer(minvalue=1, maxvalue=99), + help=_('there will be no warning/critical if this features are expired' + 'Examples: McAfee, IronPort Email Encryption, Data Loss Prevention, etc.'), + ) + ), + ('expire', + Tuple( + title=_('Levels for licence expiration in days'), + elements=[ + Integer(title=_('Warning'), default_value=30, unit=_('days before expiration')), + Integer(title=_('Critical'), default_value=7, unit=_('days before expiration')), + ])), + ]) + + +rulespec_registry.register( + CheckParameterRulespecWithItem( + check_group_name='cisco_asyncos_license', + group=RulespecGroupCheckParametersNetworking, + item_spec=lambda: TextAscii(title=_('Cisco AsyncOS license'), ), + match_type='dict', + parameter_valuespec=_parameter_valuespec_cisco_asyncos_license, + title=lambda: _('Cisco AsyncOS license'), + )) diff --git a/gui/wato/cisco_asyncos_queue.py b/gui/wato/cisco_asyncos_queue.py new file mode 100644 index 0000000000000000000000000000000000000000..66d0258affe07442c455d6cf439b270d22551ba3 --- /dev/null +++ b/gui/wato/cisco_asyncos_queue.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# +# +from cmk.gui.i18n import _ +from cmk.gui.valuespec import ( + Dictionary, + Integer, + TextAscii, + ListOfStrings, + Tuple, +) + +from cmk.gui.plugins.wato.utils import ( + CheckParameterRulespecWithItem, + rulespec_registry, + RulespecGroupCheckParametersNetworking, +) + + +def _parameter_valuespec_cisco_asyncos_queue(): + return Dictionary(elements=[ + ('levels', + Tuple( + title=_('Levels for nuber of messages in work queue'), + elements=[ + Integer(title=_('Warning'), default_value=50, unit=_('# of messages')), + Integer(title=_('Critical'), default_value=100, unit=_('# of messages')), + ])), + ]) + + +rulespec_registry.register( + CheckParameterRulespecWithItem( + check_group_name='cisco_asyncos_queue', + group=RulespecGroupCheckParametersNetworking, + item_spec=lambda: TextAscii(title=_('Cisco AsyncOS queue'), ), + match_type='dict', + parameter_valuespec=_parameter_valuespec_cisco_asyncos_queue, + title=lambda: _('Cisco AsyncOS queue'), + )) diff --git a/gui/wato/cisco_asyncos_updates.py b/gui/wato/cisco_asyncos_updates.py new file mode 100644 index 0000000000000000000000000000000000000000..4f25b4d3fd07d5edbaf559acbabcca4d62844867 --- /dev/null +++ b/gui/wato/cisco_asyncos_updates.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# +# +from cmk.gui.i18n import _ +from cmk.gui.valuespec import ( + Dictionary, + Integer, + TextAscii, + ListOfStrings, + Tuple, +) + +from cmk.gui.plugins.wato.utils import ( + CheckParameterRulespecWithItem, + rulespec_registry, + RulespecGroupCheckParametersNetworking, +) + + +def _parameter_valuespec_cisco_asyncos_updates(): + return Dictionary(elements=[ + ('features_ignore', + ListOfStrings( + title=_('Update features to ignore'), + orientation='vertical', + help=_('there will be no warning/critical if this features are not updated' + 'Examples: geo_countries, timezones, etc.'), + ) + ), + ('failedLevel', + Tuple( + title=_('Levels for failed attempts'), + elements=[ + Integer(title=_('Warning'), default_value=5, unit=_('# of failed attempts')), + Integer(title=_('Critical'), default_value=10, unit=_('# of failed attempts')), + ])), + ]) + + +rulespec_registry.register( + CheckParameterRulespecWithItem( + check_group_name='cisco_asyncos_updates', + group=RulespecGroupCheckParametersNetworking, + item_spec=lambda: TextAscii(title=_('Cisco AsyncOS updates'), ), + match_type='dict', + parameter_valuespec=_parameter_valuespec_cisco_asyncos_updates, + title=lambda: _('Cisco AsyncOS updates'), + )) diff --git a/packages/cisco_asyncos b/packages/cisco_asyncos index ab2cde272c85fd3623ae69b8801b9707546adc2e..40f791060a0f63ebc586317b40b1f7a2866f7bb9 100644 --- a/packages/cisco_asyncos +++ b/packages/cisco_asyncos @@ -39,14 +39,13 @@ 'cisco_asyncos_resources.py', 'cisco_asyncos_feature_keys.py', 'cisco_asyncos_updates.py'], - 'web': ['plugins/wato/cisco_asyncos_queue.py', - 'plugins/metrics/cisco_asyncos.py', - 'plugins/wato/cisco_asyncos_feature_keys.py', - 'plugins/wato/cisco_asyncos_updates.py']}, + 'gui': ['wato/cisco_asyncos_feature_keys.py', + 'wato/cisco_asyncos_license.py', + 'wato/cisco_asyncos_queue.py', + 'wato/cisco_asyncos_updates.py']}, 'name': 'cisco_asyncos', - 'num_files': 19, 'title': 'Cisco AsyncOS (IronPort) checks', - 'version': '20210324_v0.2.0', - 'version.min_required': '2.0.0', - 'version.packaged': '2.0.0p1', + 'version': '20230306.v0.3.0', + 'version.min_required': '2.1.0', + 'version.packaged': '2.1.0p22', 'version.usable_until': None} \ No newline at end of file