From 184775468cbd918ddab4699e91a9f1011f8a8cc0 Mon Sep 17 00:00:00 2001 From: "Th.L" <thl-cmk@outlook.com> Date: Thu, 18 Mar 2021 09:46:52 +0100 Subject: [PATCH] update project --- agent_based/checkpoint_inv_base.py | 142 --------------------------- inv_checkpoint_base.mkp | Bin 2332 -> 50 bytes web/plugins/views/checkpoint_base.py | 14 --- 3 files changed, 156 deletions(-) delete mode 100644 agent_based/checkpoint_inv_base.py delete mode 100644 web/plugins/views/checkpoint_base.py diff --git a/agent_based/checkpoint_inv_base.py b/agent_based/checkpoint_inv_base.py deleted file mode 100644 index db97bed..0000000 --- a/agent_based/checkpoint_inv_base.py +++ /dev/null @@ -1,142 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -# -# Author: thl-cmk[at]outlook[dot]com / thl-cmk.hopto.org -# -# Check Point base inventory -# -# 2016-06-29 : inventory Check Point Appliance -# 2018-03-05 : added Patches, Deployment Agent Build -# 2018-03-07 : added Licenses -# 2020-06-01 : cleanup, prepared for cmk1.7x, rename from inv_checkpoint_svn to checkpoint_inv_base -# 2020-11-27 : rewrite for CMK check API 1.0 (CMK 2.0) -# 2020-11-28 : added available updates -# 2021-02-08 : transfered license/support info to seperate plugin -# 2021-02-22 : code cleanup -# 2021-03-05 : added hostlabel section -# -# sample string_table -# [ -# [ -# ['5M7C043', 'Smart-1 5150', 'CheckPoint', 'Smart-1', 'R80.40', '994000022', 'Gaia', '3', '10'] -# ], -# [ -# ['1959'] -# ], -# ] -# - -from typing import List, NamedTuple - -from .agent_based_api.v1.type_defs import ( - HostLabelGenerator, - StringTable, - InventoryResult, -) -from .agent_based_api.v1 import ( - Attributes, - HostLabel, - register, - SNMPTree, - startswith, - all_of, - any_of, - equals, -) - - -def parse_checkpoint_inv_base(string_table: List[StringTable]) -> List: - class CheckpointInvBaseInfo(NamedTuple): - serialnumber: str - productname: str - manufacturer: str - series: str - version: str - build: str - osname: str - osmajorver: str - osminorver: str - - section = [] - baseinfo = CheckpointInvBaseInfo(*string_table[0][0]) - updateagentversion = string_table[1][0][0] - - invPath = ['hardware', 'system'] - - if not baseinfo.serialnumber == '': - section.append((invPath, 'serial', baseinfo.serialnumber)) - if not baseinfo.series == '': - section.append((invPath, 'appliance_series', baseinfo.series)) - if not baseinfo.manufacturer == '': - section.append((invPath, 'manufacturer', baseinfo.manufacturer)) - if not baseinfo.productname == '': - section.append((invPath, 'product_name', baseinfo.productname)) - - invPath = ['software', 'check_point', 'os_info'] - - if not baseinfo.version == '': - section.append((invPath, 'svn_version', baseinfo.version)) - if not baseinfo.build == '': - section.append((invPath, 'svn_build', baseinfo.build)) - if not baseinfo.osname == '': - section.append((invPath, 'os_name', baseinfo.osname)) - if not baseinfo.osmajorver == '' and not baseinfo.osminorver == '': - section.append((invPath, 'os_version', baseinfo.osmajorver + '.' + baseinfo.osminorver)) - if not updateagentversion == '': - section.append((invPath, 'deployment_agent_build', updateagentversion)) - - return section - - -def host_label_checkpoint_inv_base(section: List) -> HostLabelGenerator: - for invPath, key, value in section: - if key == 'appliance_series' and value.lower() == 'maestro': - yield HostLabel('checkpoint/device_type', 'maestro') - - -def inventory_checkpoint_base(section: List) -> InventoryResult: - for invPath, key, value in section: - yield Attributes( - path=invPath, - inventory_attributes={key: value}) - - -register.snmp_section( - name='checkpoint_inv_base', - parse_function=parse_checkpoint_inv_base, - host_label_function=host_label_checkpoint_inv_base, - fetch=[ - SNMPTree( - base='.1.3.6.1.4.1.2620.1.6', # CHECKPOINT-MIB::svn - oids=[ - '16.3', # svnApplianceSerialNumber - '16.7', # svnApplianceProductName - '16.9', # svnApplianceManufacturer - '16.10', # svnApplianceSeries - '4.1', # svnVersion - '4.2', # svnBuild - '5.1', # osName - '5.2', # osMajorVer - '5.3', # osMinorVer - ] - ), - SNMPTree( - base='.1.3.6.1.4.1.2620.1.6.20', # CHECKPOINT-MIB::svnUpdatesInfo - oids=[ - '1', # svnUpdatesInfoBuild - ] - ), - ], - detect=any_of( - startswith('.1.3.6.1.2.1.1.2.0', '.1.3.6.1.4.1.2620'), # sysObjectID == CheckPoint - all_of( - equals('.1.3.6.1.2.1.1.2.0', '.1.3.6.1.4.1.8072.3.2.10'), # sysObjectID == Linux - equals('.1.3.6.1.4.1.2620.1.6.1.0', 'SVN Foundation'), # CheckPoint software installed - ) - ) -) - -register.inventory_plugin( - name='checkpoint_inv_base', - inventory_function=inventory_checkpoint_base, -) diff --git a/inv_checkpoint_base.mkp b/inv_checkpoint_base.mkp index 8efaf690fca5aff8f5958ff7eb5d365c82c6b8f9..25c2a98c2cac6e136fdc883909577201f19d1cc9 100644 GIT binary patch literal 50 zcmb2|=HRFn4o+bDpP5${pPZ4JoL!KgnO72@lvtdqYh++#Xkct;p;xA7pl6t<mz!O{ F005}@55WKc literal 2332 zcmV+%3FG!3iwFoU5>a3R|7mV^Ut?%xV{344X>N31VqtS-Eiy1NF)%VRGA?#5FfK7J zZEJ7<?OR)O+cp;VvwsCvd7#uv6iMr1YeqZcq}|q2+ws(CUR)1{79ooXMREyJt|pWJ zzUKfW1xl1JyN$P<Ip4&R2%I~Bg9DNYqIrDqjbQ;sgMs`8Y=7HF1N*=pSkAz)ZEH9@ zux!h=j}Dl1@CwL9=A~fDpW&qL+}{LW3@^_XacWGM@nK<}o2;EJ!rpB8`Nqp`<2(!F z`16e)XScI>*)h6@%<#FGr9qMfafDpgmlszoh*mtx;&jd8IeWL@v(M}*4x)^mCP^50 z(Toc=kJHKTk#WejU|jPw@IrQ(FYkETWmjqJ=d+AmdQ0AA7haUly;+v0*!TXrfBo^Y z{{v6Lc)bLbtU;c4j~y$X3NW!zV`F2FIhJGhET?B3Pr#!fL#t9Aa!>FlI2>ofX0gxN z45*_#0dg6t_#p~o&v)}Q#8@q|ED@7_zX-9ph?6Wf<Mduq&x4Q)Ap4>`aPL5`57#%w z3?rIgKwXHm>@btHaog2xG9LJyq)x*8K8Qqr74Qeq*LW+wuc$79_@YrLaf?Wr6Xi>{ zG|9n+EXYF1p%1WE4lqMTZ6YWuq@-dfkQD=FIgVqlOv|+OUUL~lZp#0i2dVVhaDc+P zJFd|r-t033XVYKn&4qUtayO5%0K<J5NBrvn;V}e||IJS#j{cAN--euD&;PbH8d3g# zmHgjQ`M)(`t*7&UtIJwi`bVZ0rvLvb*KZ~E-=il|_G9^3x}v3L^kr{)Mq-%?feIqF z$<A<n(`wGnty^G%lq^Y}O35uq$*hGL8SQAu$Y?>8kXx9LSxe?)q<=v^Mma?Qk+YtT zwa!{LmXs<R>m+3|uDbP3Jr@H(l!qbZ;=dlWxol!0eEt0I4Dfe7|2y`W^8c%#Id^@F z@t2{o$Ahu@#&K5Lzcm=E{oi(u295>&_F!PY>i9EuaF++6{|Mbv{eM%u`A0t&Y5y*W z`aD{(WDUhYbaeQJ^}g%jju}Mv6P9Q5-Z8cuzJZ=oSujl4{yKs6+0GU!S@n&ozCFoq z$FfH~Yt(a2*hJg88Vd?Ve%!N;de#ugJ>Ta(yYe!a(W1+=s^L^t4R3M$bf$5|bRNuj zB)E{hj)fLjHuM&?LYE~ePdwNMv4&ybm2Hmy=t7x+`!$=V;PBRtEmjfBV%D&@N*%V{ zbI^j6Kcqp%rQ~-PzbF=VdUeKZ(_(FGf~~cqvmIB4dn+#pahqj%;(J-?K~WF^S(bW{ zm~%8eR8ICqo+NRaF)aMiM!^%F0&h_tXc8QU)r+R8uNLw}EHW^HhahT(RiPY8;Vl!e zOJpg`AU8uJq4fs-)CU|>hZo~_*5JtKGUIybrCHBrLwji9wH$Fd;94*K{Pox}2a@FE zWFU7B2QPl|0uR5XFxxV2Q3cdrx;p!0c%pZ}&%;AGc-cAuBU!MNfjJLE)|CaR{~-q- z3L;b6DP1oK%$02dBX@m17bS07p2vTNh@4|Ye&P|vHcr(!{aOa&1I9u%oRw4jS1$4} z>mGLY>Z)rv%|O&$4kO;JYgCshzXvCHsTL~q4=FEnV!F%3Ly#@hwHJnNJTHDn>*_a@ zeqJchq{BmSk--8G+-;cAZGDU<GJH3hr?(x}`=@N3NV&7n6GAO%DF<Tk7NnfPbZl>e z-kDT)HiSGeMDoBe!3kCMB<k>htFYd&)Xow09u&q!y{)KN>y0wq*PCLot0@*s?^B$v zw)H@J5NYiy^lE*uDZ9Cq4H!PT4yStp@|_;r8|xPSbtI=+?{b<H=7WqHv3;xPm1-C) zNR10rZ7jUhe}Hs`YelSKo-B=$YR;lKtIRU>(6i~38HPSA(is!Z8$9yc?Lq^}lw2Ua zQBJ3`R}~x*pRJ@i=D3P;TOAjB6zOy0`Ra5oU6tOxN1--LpRccAa^*d`Zlf?zw==XN zo@eFI%BAWiWfF~rixTz?bv28gJ<6-dE${1fcjWAeg<MrH(;-=O4YFa6e6>WMuK<Fw z9bqM6ul#bkD;<zA{T+&8;lId=hDd6<zGsGMz-NP&x}i;J;kj1$RmJ2M+fNbsU7_XF zOF2yZsM`0{MuGK!D+_|=-9izojY94XyW6EQ7fYhbyw7~yWh*btv1TkaZrlR@fkHaF zlNsb7NmetAA9&jCNV=uRAz{W^Y!K^!!wjuVYHPRN`#xVm5#{2pZ*(^T${n&QShw%p zH2A!=^S|6-W#^_2XxF?*K*Y2ZRqNRp=~cYbFQ9Cqlzl~S%KE_+(K2xh-AV&4j%m~L z2t(;nWx_m<B+qnj)u5=gxl*w_K7SP7oI{yEy{SAaOPqQXkbY{Iws~ZZ;Bx?f&d9Og zYXsxR;5hR0kMDlDdVhBLp?7iib~1r{QxgyezR<K(4_fSzd88x&M|C1mw>H(C%|@Q_ zE>Cg)6APb4mXlo;{U&K6k8L&E2FHUP@&P`BDTqI+#oa{YR7C0+wL>y2<;0@dmtiR* z78jV-J~kOYEW-*!nBTUEZmX+K_rD)|)3Npr|8MFXg~iwNW<nJhjdM3fJBAle?tGrX z;+m?ud*i^SMsIIiaNrL=<>_a~F{7glS&R2~pFrl>518aO=cr1ys`u-`QnmiGbRAn` z2QD3)WsNG&gDC&wap|?eu$7YQkC*IUaUMYsaUWEoH|DdlvVjB!(FsGo39#A$J9tv5 z64xfpsblT)lGlc-%0_#WI-ZQ^_A!A#AP@)y0)apv5C{YUfk5~R<AL9Ov-dtry!`!7 zYiN(@{m<9HQ!l3fdE>wD{ZGppz}&#`w}#eWgdwy?M}slF|M?nt;rpM5#cOEzYUh0( zn0Xe2LcO$BHWf3<lryUS+S=w}iXVt1^wtZQX`<Vy3kdAvsN{1&V<VHP-b!eHk%A4g zd_H7quf3SXJ1-ObKXujPqUyh~xozY9wR{iK&>kmNKfbEAuk@IQKp+qZ1OkCTAP@)y z0)apv5C{YUfj}S-2m}IwKp+qZ1OkCTAP@)y0)apv5C{YUfj}U<4*mmu)U@dUcmM!( C@qX$6 diff --git a/web/plugins/views/checkpoint_base.py b/web/plugins/views/checkpoint_base.py deleted file mode 100644 index 5aacd0b..0000000 --- a/web/plugins/views/checkpoint_base.py +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- - -import cmk.gui.utils -from cmk.gui.plugins.views import ( - inventory_displayhints,) -from cmk.gui.i18n import _ - -inventory_displayhints.update({ - '.software.check_point.os_info:': { - 'title': _('OS info'), - - }, - }) -- GitLab