From 9e7d86f0300240f8385f07e6c08f725aa724c5eb Mon Sep 17 00:00:00 2001 From: "Th.L" <thl-cmk@outlook.com> Date: Wed, 14 Jul 2021 18:28:57 +0200 Subject: [PATCH] update project --- agent_based/inv_cisco_wlc_clients.py | 326 +++++++++++---------- inv_cisco_wlc_clients.mkp | Bin 5449 -> 5650 bytes web/plugins/views/inv_cisco_wlc_clients.py | 112 +++---- web/plugins/wato/inv_cisco_wlc_clients.py | 5 +- 4 files changed, 228 insertions(+), 215 deletions(-) diff --git a/agent_based/inv_cisco_wlc_clients.py b/agent_based/inv_cisco_wlc_clients.py index 11b58df..c208d2c 100644 --- a/agent_based/inv_cisco_wlc_clients.py +++ b/agent_based/inv_cisco_wlc_clients.py @@ -37,164 +37,171 @@ from cmk.base.plugins.agent_based.agent_based_api.v1.type_defs import ( ) _enable_disable = { - 0: 'N/A', - 1: 'enabled', - 2: 'disabled', + '0': 'N/A', + '1': 'enabled', + '2': 'disabled', } _isaclapplied = { - 0: 'n/a', - 1: 'true', - 2: 'false', - 3: 'notavailable', + '0': 'n/a', + '1': 'true', + '2': 'false', + '3': 'notavailable', } _associationmode = { - 0: 'n/a', - 1: 'unknown', - 2: 'wep', - 3: 'wpa', - 4: 'wpa2', + '0': 'n/a', + '1': 'unknown', + '2': 'wep', + '3': 'wpa', + '4': 'wpa2', } _authmode = { - 0: 'none', - 1: 'psk', - 2: 'radius', - 3: 'cckm', - 4: 'wapipsk', - 5: 'wapicert', - 6: 'ftdot1x', - 7: 'ftpsk', - 8: 'pmfdot1x', - 9: 'pmfpsk', + '0': 'none', + '1': 'psk', + '2': 'radius', + '3': 'cckm', + '4': 'wapipsk', + '5': 'wapicert', + '6': 'ftdot1x', + '7': 'ftpsk', + '8': 'pmfdot1x', + '9': 'pmfpsk', } _reasoncode = { - 0: 'n/a', - 1: 'unspecified', - 2: 'previousauthnotvalid', - 3: 'deauthenticationleaving', - 4: 'disassociationduetoinactivity', - 5: 'disassociationapbusy', - 6: 'class2framefromnonauthstation', - 7: 'class2framefromnonassstation', - 8: 'disassociationstahasleft', - 9: 'stareqassociationwithoutauth', - 10: 'invalidinformationelement', - 11: 'groupcipherinvalid', - 12: 'unicastcipherinvalid', - 13: 'akmpinvalid', - 14: 'unsupportedrsnversion', - 15: 'invalidrsniecapabilities', - 16: 'ciphersuiterejected', - 17: 'missingreasoncode', - 18: 'maxassociatedclientsreached', - 19: 'maxassociatedclientsreachedonradio', - 20: 'maxassociatedclientsreachedonwlan', - 21: 'unspecifiedqosfailure', - 22: 'qospolicymismatch', - 23: 'insufficientbandwidth', - 24: 'invalidqosparams', + '0': 'n/a', + '1': 'unspecified', + '2': 'previousauthnotvalid', + '3': 'deauthenticationleaving', + '4': 'disassociationduetoinactivity', + '5': 'disassociationapbusy', + '6': 'class2framefromnonauthstation', + '7': 'class2framefromnonassstation', + '8': 'disassociationstahasleft', + '9': 'stareqassociationwithoutauth', + '10': 'invalidinformationelement', + '11': 'groupcipherinvalid', + '12': 'unicastcipherinvalid', + '13': 'akmpinvalid', + '14': 'unsupportedrsnversion', + '15': 'invalidrsniecapabilities', + '16': 'ciphersuiterejected', + '17': 'missingreasoncode', + '18': 'maxassociatedclientsreached', + '19': 'maxassociatedclientsreachedonradio', + '20': 'maxassociatedclientsreachedonwlan', + '21': 'unspecifiedqosfailure', + '22': 'qospolicymismatch', + '23': 'insufficientbandwidth', + '24': 'invalidqosparams', } _authentication = { - 0: 'n/a', - 1: 'unknown', - 2: 'central', - 3: 'local', + '0': 'n/a', + '1': 'unknown', + '2': 'central', + '3': 'local', } _dataswitching = { - 0: 'n/a', - 1: 'unknown', - 2: 'central', - 3: 'local', + '0': 'n/a', + '1': 'unknown', + '2': 'central', + '3': 'local', } _hreapapauth = { - 0: 'n/a', - 1: 'true', - 2: 'false', - 3: 'notapplicable', + '0': 'n/a', + '1': 'true', + '2': 'false', + '3': 'notapplicable', } _nacstate = { - 0: 'n/a', - 1: 'quarantine', - 2: 'access', + '0': 'n/a', + '1': 'quarantine', + '2': 'access', } _protocol = { - 0: 'n/a', - 1: '802.11a', - 2: '802.11b', - 3: '802.11g', - 4: 'unknown', - 5: 'mobile', - 6: '802.11n 2,4Ghz', - 7: '802.11n 5GHz', - 8: 'ethernet', - 9: 'dot3', - 10: '802.11ac 5GHz' + '0': 'n/a', + '1': '802.11a', + '2': '802.11b', + '3': '802.11g', + '4': 'unknown', + '5': 'mobile', + '6': '802.11n 2,4Ghz', + '7': '802.11n 5GHz', + '8': 'ethernet', + '9': 'dot3', + '10': '802.11ac 5GHz' } _userauthtype = { - 0: 'n/a', - 1: 'open', - 2: 'wepPsk', - 3: 'portal', - 4: 'simPeap', - 5: 'other', + '0': 'n/a', + '1': 'open', + '2': 'wepPsk', + '3': 'portal', + '4': 'simPeap', + '5': 'other', } _wgbstatus = { - 0: 'n/a', - 1: 'wireless client', - 2: 'wireless client via WGB', - 3: 'WGB itself', + '0': 'n/a', + '1': 'wireless client', + '2': 'wireless client via WGB', + '3': 'WGB itself', } _clientstatus = { - 0: 'n/a', - 1: 'idle', - 2: 'aaa Pending', - 3: 'authenticated', - 4: 'associated', - 5: 'powersave', - 6: 'disassociated', - 7: 'to be deleted', - 8: 'probing', - 9: 'excluded', + '0': 'n/a', + '1': 'idle', + '2': 'aaa Pending', + '3': 'authenticated', + '4': 'associated', + '5': 'powersave', + '6': 'disassociated', + '7': 'to be deleted', + '8': 'probing', + '9': 'excluded', } _interfacetype = { - 0: 'n/a', - 1: '802.11bg', - 2: '802.11a', - 3: 'Ultra wideband', - 4: '802.11abgn', - 5: '802.11ac', - 6: '802.11b', - 7: '802.11g', - 8: '802.11n 2.4GHz', - 9: '802.11n 5GHz', - 10: 'unknown', + '0': 'n/a', + '1': '802.11bg', + '2': '802.11a', + '3': 'Ultra wideband', + '4': '802.11abgn', + '5': '802.11ac', + '6': '802.11b', + '7': '802.11g', + '8': '802.11n 2.4GHz', + '9': '802.11n 5GHz', + '10': 'unknown', } _powersavemode = { - 0: 'n/a', - 1: 'active', - 2: 'powersave', + '0': 'n/a', + '1': 'active', + '2': 'powersave', } def _render_mac_address(bytestring): - return ':'.join(['%02s' % hex(ord(m))[2:] for m in bytestring]).replace(' ', '0').upper() + macaddress = bytestring + bytestring = bytestring.replace('|4|', ' ').replace('|4.', ' ').replace('"', '').strip(' ').strip('.').replace(' ', ':').replace('.', ':') + + if len(bytestring) == 17: + return bytestring + else: + return ':'.join(['%02s' % hex(ord(m))[2:] for m in macaddress]).replace(' ', '0').upper() def parse_inv_cisco_wlc_clients(string_table: StringTable): clients = [] + index = 0 for client in string_table: macaddress, status, wlanprofilename, wgbstatus, wgbmacaddress, protocol, associationmode, \ @@ -205,56 +212,57 @@ def parse_inv_cisco_wlc_clients(string_table: StringTable): channel, authmode, reasoncode, sessionid, aproammacaddress, mdnsprofile, mdnsadvcount, \ policyname, aaarole, devicetype, userauthtype = client - clients.append({ - 'macaddress': _render_mac_address(macaddress), - 'username': username, - 'status_columns': { - 'status': _clientstatus.get(int(status)), - 'wlanprofilename': wlanprofilename, - 'wgbstatus': _wgbstatus.get(int(wgbstatus)), - 'wgbmacaddress': wgbmacaddress, - 'protocol': _protocol.get(int(protocol)), - 'associationmode': _associationmode.get(int(associationmode)), - 'apmacaddress': _render_mac_address(apmacaddress), - 'iftype': _interfacetype.get(int(iftype)), - 'ipaddress': ipaddress, - 'nacstate': _nacstate.get(int(nacstate)), - 'quarantinevlan': quarantinevlan, - 'accessvlan': accessvlan, - 'logintime': logintime, - 'uptime': uptime, - 'powersavemode': _powersavemode.get(int(powersavemode)), - 'currenttxrateset': currenttxrateset, - 'datarateset': datarateset, - 'hreapapauth': _hreapapauth.get(int(hreapapauth)), - 'ieee80211ucapable': _enable_disable.get(int(ieee80211ucapable)), - 'posturestate': _enable_disable.get(int(posturestate)), - 'aclname': aclname, - 'aclapplied': _isaclapplied.get(int(aclapplied)), - 'redirecturl': redirecturl, - 'aaaoverrideaclname': aaaoverrideaclname, - 'aaaoverrideaclapplied': _isaclapplied.get(int(aaaoverrideaclapplied)), - 'ssid': ssid, - 'securitytagid': securitytagid, - 'typekts': _enable_disable.get(int(typekts)), - 'ipv6aclname': ipv6aclname, - 'ipv6aclapplied': _isaclapplied.get(int(ipv6aclapplied)), - 'dataswitching': _dataswitching.get(int(dataswitching)), - 'authentication': _authentication.get(int(authentication)), - 'channel': channel, - 'authmode': _authmode.get(int(authmode)), - 'reasoncode': _reasoncode.get(int(reasoncode)), - 'sessionid': sessionid, - 'aproammacaddress': _render_mac_address(aproammacaddress), - 'mdnsprofile': mdnsprofile, - 'mdnsadvcount': mdnsadvcount, - 'policyname': policyname, - 'aaarole': aaarole, - 'devicetype': devicetype, - 'userauthtype': _userauthtype.get(int(userauthtype)), - }, - }) - + index += 1 + client = {} + client['status_columns'] = {} + client['index'] = index + client['status_columns']['username'] = username + client['status_columns']['wlanprofilename'] = wlanprofilename + client['status_columns']['ipaddress'] = ipaddress + client['status_columns']['quarantinevlan'] = quarantinevlan + client['status_columns']['accessvlan'] = accessvlan + client['status_columns']['logintime'] =logintime + client['status_columns']['uptime'] = uptime + client['status_columns']['currenttxrateset'] = currenttxrateset + client['status_columns']['datarateset'] = datarateset + client['status_columns']['aclname'] = aclname + client['status_columns']['redirecturl'] = redirecturl + client['status_columns']['aaaoverrideaclname'] = aaaoverrideaclname + client['status_columns']['ssid'] = ssid + client['status_columns']['securitytagid'] = securitytagid + client['status_columns']['ipv6aclname'] = ipv6aclname + client['status_columns']['channel'] = channel + client['status_columns']['sessionid'] = sessionid + client['status_columns']['mdnsprofile'] = mdnsprofile + client['status_columns']['mdnsadvcount'] = mdnsadvcount + client['status_columns']['policyname'] = policyname + client['status_columns']['aaarole'] = aaarole + client['status_columns']['devicetype'] = devicetype + client['status_columns']['macaddress'] = _render_mac_address(macaddress) + client['status_columns']['apmacaddress'] = _render_mac_address(apmacaddress) + client['status_columns']['aproammacaddress'] = _render_mac_address(aproammacaddress) + client['status_columns']['wgbmacaddress'] = _render_mac_address(wgbmacaddress) + client['status_columns']['ieee80211ucapable'] = _enable_disable.get(ieee80211ucapable) + client['status_columns']['posturestate'] = _enable_disable.get(posturestate) + client['status_columns']['typekts'] = _enable_disable.get(typekts) + client['status_columns']['aclapplied'] = _isaclapplied.get(aclapplied) + client['status_columns']['aaaoverrideaclapplied'] = _isaclapplied.get(aaaoverrideaclapplied) + client['status_columns']['ipv6aclapplied'] = _isaclapplied.get(ipv6aclapplied) + client['status_columns']['status'] = _clientstatus.get(status) + client['status_columns']['wgbstatus'] = _wgbstatus.get(wgbstatus) + client['status_columns']['protocol'] = _protocol.get(protocol) + client['status_columns']['associationmode'] = _associationmode.get(associationmode) + client['status_columns']['iftype'] = _interfacetype.get(iftype) + client['status_columns']['nacstate'] = _nacstate.get(nacstate) + client['status_columns']['powersavemode'] = _powersavemode.get(powersavemode) + client['status_columns']['hreapapauth'] = _hreapapauth.get(hreapapauth) + client['status_columns']['dataswitching'] = _dataswitching.get(dataswitching) + client['status_columns']['authentication'] = _authentication.get(authentication) + client['status_columns']['authmode'] = _authmode.get(authmode) + client['status_columns']['reasoncode'] = _reasoncode.get(reasoncode) + client['status_columns']['userauthtype'] = _userauthtype.get(userauthtype) + + clients.append(client) return clients @@ -267,7 +275,7 @@ def inventory_cisco_wlc_clients(params, section) -> InventoryResult: path = ['networking', 'wlan', 'controller', 'clients'] for client in section: - key_columns = {'username': client['username']} # 'macaddress': client['macaddress'], + key_columns = {'index': client['index']} for key in key_columns.keys(): client.pop(key) diff --git a/inv_cisco_wlc_clients.mkp b/inv_cisco_wlc_clients.mkp index 680098daad11aad5babacc8b20b0cd130f018d27..037368977b5eca07bc1c0e53aba57326ac588090 100644 GIT binary patch delta 5573 zcmV;$6*}t4Dv~S*ABzYG#}Mz42Q7bnQ{y<&pTGGOdYHOOau-Yz2+X94t72hpmRg48 z2IlsuVyTp|72?IQy?zP9?ag<8y7gj9vI9<bcAmW|_1rCy^i%7lrB<tL$w4%WU;V)} z06N&;XMcgrzr*o(@6~XBaJY9c9PAAaUk!$X;pp%c8NB)iRAjlELRG#-Bh`P#{g=>h z9k<BmaoU-X&h^|mcStv%hdbWl;l|Bx<022^_~FKn^II=o^g8`5((!5Lr9qMhafG?9 zE<Rk6AX?HWkJBd-&&WxTc`^Cv{DgR60MVKAbJW=)26Y-E{}s68r{n7%$x~bq&y6OH zD6)fT#P$8%lrG{WC0V?nWEOwW(9hZzc1^RK`s6Xl=Sro=<I!MuJRXd9N8`c%8g(BH zMuVNfo--Uzuxh|LE0QEmb25ula`NGap>yzgRnFng;BaR+nvj$}ra_+5Nai9VX8^fa z*T;`h7`y(oNJH%Vd7dYe-CZFuXC5bc?8NCk1J8nxW`F__--8sUcW!@1eF)!lKw47| z+dF*>y{QyZ^3=KQt99!<(mRGv!s0%NvfX7sAG6(+x%;(-ArqPT(aq!4d2hd9l_PgS zv0aTY)~KjhOl8CNFd`4~Q0A$Ipl1$2mU&6jOpIFW@xkG6<SYlyo|@<^f@qr3UyC4R zz14x<cLo|FalHrVQeS`aabT1Tbx4u9cOjh?Q68Y6F5-xO`BTpS0QA4}OBP4}kNSU9 z)BhlveXIY!iT>Z_`hR;uwqMr&+kLXFsDI4VPW}HJH7NEMwD`|aOa1(F)Kc@dP_wLs zik8JDuF|rIWx5DJ(2tdph49VxDpj|A3)w)kGEh6siUqY&quYO=M#(m6QLJ|(3VAV| zDG<--OoR%BhG0!)DruU=WI)uIDnKes$%QLS6`|@&Kt)9uVnd{|hp4?TuPl9iQbw(V zityX(|1tZm>;KVcVD<kuTK}6h$sZ*D;o<%v|2rOwt{NSHF6Z(eACC4BH-s_qP4|C< zyt*rb(0>N^Qu=>?DZM8Dvs+~8?p+Y=(r8JNC$I*hy{*?|=dZ9l$9@pqPe_r^cHUsj z)@w*P4?G%WbVA-=d?N2@L{m2;m&IKecruMFM+|z*jEf0bZBqc~)5mkzC`<^hvsu$Z z3z$<kr-&I1h6g)?{hh%Z#vj*kSi<j~CIqdQXUhRN&;5U9XEY*c0iey{gYn|i&(PGc zSVSCi$Vzxiq%nbOE};=FQM-P?ma4wUF7jnO;~U5Yc_E`WccXinmBz);89Sdz7pGgE zQc8Aq{!V0I8U|V3V;q<nvojo%XY3db6ow30VaY&qw}J)Bno{{I4;JNb5V)IpL9jJT z;|0l|5)gkh5oza8pFX(&Gs3?vl8|n35XuBs3P;!?j=Fd#zo%{zILo2r)@9qmAJ0zT zMSfrY{_ZKKS%0hd6*#B#9_mX|&KvE~Yv@!Sx<*-jj30T(i=*5H_M4XLKsV8;PiL84 zgR4A+-eYC)g3hE}^^s;pm}7ZcQ$B#EVgQjN@*97{b_TeQyx2V!`{&LO!yN3(xDm#Q zoEZ59_(8}E-6R2>?Hk;pU036lrv=qm&D=06WA<2<ICqzB5Ml|U05{8GFL2S)U&KCr zp^PGWh`?~xig~1oR>)&g=GhnFkt_@}MN=uTbJmJUvInh*)b)cR(@OEYhlO4Yh)>Bk zmT`X`O>-G}z`7*|Z87{T;|_V8lJyO%!eXYu-ik<$!^Wi4g)Oz$rqi;7dI4;CbWtZM zT?R2&#n3AtnWY;BzSc&cViF9pz+(amsk?+Rs5KkMOC>_Tpm_|F-phk!kUwdip(EYo zuE?IWj)8%eWusXNDgh@BNCk_BrIUF9)$V_4KxUZ%d{ZwI5OX&R=`7cJ6&GjvtAfM5 zAZT_hz3j+=aQ|Q@p+6&CFenY_0y?OKu@1ja<0A2bWKL6&qf8%hfk205c{76by!)_7 z%!GX*ORlV`pJtKtHA%==sU#!^)N>Q}E(n7>pylu#^3G<3X9X;6DgA|dc{MnOtdD;e zL6(8At5H@avz}eJpJk6xUzl`&_2vqnw=V$W2q#ut4$8rc_{Y$#Ccinje~q&lD3>Cw z)DY`#h)-g$8=jy^AT_TP>S&MmS60ksfrlmCxsm@E_?6s8`%0H0BNql;rl^x@c5I-! zz>LYkuF)o47<()R3-I0C&0sWob6kHozdrvtbZi3updDXFx#L3NDcT)00Zz-8G}NyJ zbSrdZq?h4(9?fKDCuy9=U<kdy>dj!}42Q19hsWJ%wdHZTE;G82&89^R^M`7Bif4_; zsK5Vy{%=h&$)xf7@BghSA_^lVji|18K*8_n3P#l4;|y54iwsO(5D=OLFSLI>PH1gu zysXw0)^5}t)rert&Vt1yj03ING1gb~{Nw!{3bDvuDE=`>K^<n9aP8<d(bLEhJ$3KD z)2aqx666^TXQE&+``eTq_@Oa&T$fzZ$XC`Yu34)&TWKoR4VBi>dLoG*K~K6%eGDiI zOND1c0Ic{sN_=RolERnt6vls2RUI}2=w~l1{L0*lKpoFqkG7Du7}fU;L*3Py{3!$_ zKtQcgRBu|F1^n(_AM|n<HVpf_hVg!{HM5)^&b~4W-maP+eBf78kIi-2=PgV^W^3rO zS49Tww!oMsU@pNHES)Y~ZwkAf6vkrr4)+JltnN)%c1RRyP-vCP(yD);mgb~12|-}p z&VTm*)9I5A>Gae%rxv%3F%W_IlP*gWKOGfD5H?X`91*j{>J!XJNF%ik<miYD4=3dV zvXtgU8ky~&ptoxnVC(z>hFkZh^OwOW>yW>YIsM#?Q@^|D^=?L!Tek08z;;sUq+7GP z1E?;TCp7K$M7P6wnbCh~qXVeRD>cn=y_l%`8zBvWgYLe$<xOUr=p!=VJ%BY5>IAB# zaVy(bRklyKBIy$}B493}(-*zi5Fr&D`>AG;i%y>y`;<QUxh%s?)GWaa=PvwB$|$)C z_DQwSEuj*?m9236cNoL&5O>dgQY8FuRfaYr`ot?z7|(hBIR$^V8HJ5BnhIq=S=XT= zlv0>@!(qX!L3Ar5aRy?iqEbprypZ=uwdq42gb&KwgACXWt{a2ZnSwH@z*=0H4;L;D zs0sj+5>he>^@r_2?%rb%`|Bacu1l5&C07wB*=e>A6sp-?Y8mJi0lS<-cz0DsEEb-j z&5Q-RAYON&3U7bmgE`5E1`oLY(u<2I*JXjmWZCvKMz9ZiDXzA8%atXYkI}6%KOe?_ zgUMRenGa*obYG0Pn+_kEQ{e;Z+%}^aQ<lhny~yRJBjv*~$v}&I#`Iy?jkp$E%IU%D zEJH1F>T`%?*P~kSsOBBZUj<v_E$1m_Edy;jJdwG?1aE(l$DHUaw;9=jkD?wJ3nkpD zyTVe`;&+Q&isE27m2jIfYnp}^UyE+R3)K$GjX&DpRRzT}sxhsGcd5$6058LBq|Q|s z7dHRhs@6iYi5iPgi=2wuV|kTu%iK~=mf2-Qi~N;7Wx1<hyHSGrR}KyQ-DWnF%9>Ax zGT5fI<#K<)@;2F(6{Odu2}ui<DySV(eQA4!u?}p*Tr-kZa@J67*wzdc&RTbAJNGp2 z){wnc!>lrTR&rKBZI}w%WhFn6-fO31g|WlAsjhd%s|xnk)}JqMZo>B3tGVa7>!3Dl zc?@T#Isq6v{<GycRXLSG#-<Fl8arYiz!}L9A2EL-&`KuyCW3P_BDp~HxK^T=mHJF~ zBXAk8)HZzNW`%Q-A;v@o+RZj)!y>v(jS{m>iD|=C+1PNNN(AGmgnKQ`qH<HgIciai zrxw#n%-Y^WNLh>HLe`?%GFAqT2$js*_M+m`7s^|P8LKMTYq^b(n;p(hjbRMch~AdL zGjo4HF~I84<-y*T;+7By;Y%oABx~>`aKAj;TC&b0JAXGHkWK_=e4;Mu&s_`Box*vj zz7ZYD(^-o;T3V;CV?`Sim$}tpO40l=P9K=>k97Dm4AQ{|#bB?5=x4=8TKpB_+eY68 zZ&g*b2l_OvD)yV${Y}i>;Fqeiks;(lZc2Y<2YzSW-b8z;nlo{dIO#&NA~0R}<<7P~ zDohzOUM8xiR}LRlu<B`Dsn-k;liK^=N)e1lPeahp9!+xc1ATgzrg2)&o`A0XN;T0N z_?2q(gm0>r?-+EqbYwn1!vE-R#VZ0nQhw_oWi|;Y??@e`H|a<ZR#0^J$yX$tELwjg zQ!!+DebJadTK&R3YYF-ZXGO$v9X;bV<oFo{b$q0~j8SzBzD{w}afZ&Ga{&L{hyTBY zf8)1rS=`VW!i*!Y$;sK($&WkdKOJ9Q?wtO3Jsj?woS(hBxZe42_T6OSg}!&f%6x}H zEV;*lpB>$3z0?s5t1KT}@7VBY2>*Yy0lZ>8s)P1S&`+Q;F8O}!Lfsb$N4|-^ziZ+; zZosXo=7EX56jqK7JFH;GmBsP_Rt_EaM!_Yk%6waa&Sux@W=uXOFzR%6*~n*D6UK$> zVTYIuYqI!f=|=k3`SFE;t_kIsIgJ{SHG!O?lju4y1vjio<Wtgss>=ecrYnE2n(7@r zJT$>4+*fq{`6G0|mE!G@&+-lYDHuD=(6=V^d$hHV6MX&7800lk@y*%^->eznVZD89 z57r>E(Wowjus$P34YCT4`S!y=)@1cjIH^9R##kTKq;>4NKZ;#bb2Sd0&(U0?ngl<Y zu33(&N$%?E?9{;2M0O?ISl55<{h3klUQK8?2Y<M}GGH}vox%35vHg3a70||p@9i}W z#Vcud8{nGUjx}T2K-WZfVmQ?}?4XHheUj}R)&~t*%qMkZT}a$3XG&_XCaL4(W9%+g z>B{|@us--vc4@fmICR(qJ@%I;ntP68NA<ag&bWp}r#{7wk3Yt>!fS4FI%U4Lx_aMN zWP~FgyIw=_M}R%P{QESAIeH}Dwd_`l{Ro$L_=g?T;pcfyDnq-+%E+FwQ#@dVZ%md} zOJxu7_cYsDE>*tLdU<A}V&;K;jSG8|Dcf5>qtfi?w=X6rEkbnEPoJ+$Z_A!Ev6I0L z8<QUu2Y>xh^hodiuzMdRt$+XHU_2Vz`yamrwYz}!tI5CN{>R~HG&&IXKOPJYunUKW z2loEQZ$q!wyZ%w$9*7s`-4}sV<UyEKcj;l2yh@LaDE*#1<=v_vOG5W)9^iXdq^ENT zhHoO7aSBB?=5mU}cXQem_m4Q$K@JB`aX8fx4u40C;|aS9U)~o#?RM1b;d_mj*RQ6| z1AU59pW=rTZr01nvh!0QebT`TK=5yQ<R5?Y)9CQ4I*Jbg?KCQc+0p6#28GKr%zdJs zw(k@5@NJ(|C+qq|9{XFfwA*!i6$g#D)eAI`5Y9B7P3JLm)0h6%R(o;()saVUG^wAl z$bVj+h<Eu~@?vr_SmFKT>vK|sXz=@Rd_u%KrF4D1LPQ2ne%xSvZst`IwYhVAK}0%x z6LW(S$|ImA@Auz{!z~*zUEROP82eZzug$%j5e8#<1Y>=U=CM<Qv2t{Su=Mo{NLKg9 z@#XL94souvHo?RRS9W{M23(UB)jhl1ynm|Y(OHA%1+<?htj*H6?8IPP9atfF4rK$u zRhrop8%x=cZFNP8!IhnaVOIpN&r~c}2FFjyX594i$>vnUM1rXsPKesIEk*(2R1UfR zUxEnI{qS9o?`FOAOHwa(F$%%+6P!IJuFY9JYi)4;{^L8C*6=@;xc=m;UG!k^=YRLa z;U_$J@&?jX?s}*Rm!)kwBjv3w=6pFh-*Aai?oVjoDU;S_tKPn2@Retr@KW>*>RZ2< z$E^49F+m6*$nWTv#tST7C~D*GDotZkzsUIYO(nFPO+)GG>~sT8+I2)GOOZ$*m2ARY zUSVP`TJKKC57$@Z3RXmMq2~sxY=3nNQf-}G9{i5MVO%`2iuuOFLBANHNwHR`>yK>x zeh70&>#6InJ!0c!E;%B4quMr_jd*MDX3L{;0YyzUVG8j!Vq0B+RhuI$VWa6$yGf~T z-y-1m8M*2OTn7Ke>BW`Y1Z~E+yql|uGb9q8y1^n_-rH4MVlicNz0a=nYJbr5EPnmD zTsa)fiOf<q+(Kv<pERr*%s5hcGv=??naMQGgBiQ3c*^)N{{<8!zeq^<%&uT%aac$; zkJDVil!^G&M%X@K(lW>jH_V)Wu$Z%G$?i}6>HGvUT(jFOJBbU%Jc2vSVG9YOHrS>w zy{%_lbJeLz>1*>TXzi5U?SH_Enj#MGcWH?3>Mj~|5w&u`_3MteT8up{`R)Dx&wf_! z)gS5qAB+zV<@X;4ki3Wf|NVXI|Nk@k|6jwuXMFXI+J=2SNqY|PJ#6zn;=$>JdR(uk zA~fY^zSAe|6Ftan>4pV^=&ViycCOpS92mw=7oE&wSUT88cUD%Yu7CYFKUuB!_??jQ zma0BKj&58}#WHjo?ndmBhHbJyH*cLF$Lj4;V@~<3V8w>6%EK0B0The0Ow@e;x>u=$ zXjN>imQoj^{MQ1Zx*#iOf4}a3lq^lV4tY1)ax#PAMMZqwb1K2Q5sz5YtXGgFKgFb0 z8z)VA<4HzeG3o`knt$U7Z$Vh?Y!bOtClX{Z9Y+eP+Vx1Bx(`z8tXN%oopqy2@K&8o zz}a*#$yqRykBw^nU$yAUxodQn=G>J$^_?X0uJ0aotQ?Bw9#)_#?<Zh1kEa0WgU)y$ zBQdJs4yc;3uHfYEK*Flsf&i6{X+WsXXpyWK@&M3{_Y$Hw)PERAccPUr)vL;IrYBVu zRQagG9M{UT4#C-Qgahlk^IJgGPZkklM_EED=NQ9i4lx1J-7WyDyIM-5+;}pSve{Hy z%N#=W=aGHs71FT$(NqIgKC==<OYaRzw#j3oG8G>5I@8jLE|_Xt8{k~q&S+evhpfi6 za-9jj`h&ARX@7WFRw3onV4^>(lK|t<A;KCS7jE6k?|+nQ`--no^d{=flhu-6T`R}- zTt~Q>DnDX;Qh%~Pr(uGi>v@nV->l|#0e;Cbgn^b3Hw+0Z2-PKz<tN1mvnO2nF>3kY z9Bf>5lZ`_<=2P#^b&S{e16L?m6o=ozUV!xp#bxsAl7D2Ik0Evkd{x73yz$T_+ov&^ zyQ%*OyRqFYp5^#MMb*niyUJ0!KztO<yd|%8Yo^YrvZ}iE2l{2-<7X_{hopsx1ZE%S z+W2;b6o%TpWe(oaWz!lNc&tL%kyi5toV>?}jk2SLmo?0{6naW&B8^?5XxgZbyr8IV z)mGiaJ|sAIw92fkzJ&q{HQTx$b$l4#iU3}|<_M{rLPsynCea|f$+nZh4jYpn6&;fg T6%P&iQ_%kb&g^Wb0LTCUd@&7A delta 5362 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 Q(!ZSk54|(Iq5#MM0Kv|pBLDyZ diff --git a/web/plugins/views/inv_cisco_wlc_clients.py b/web/plugins/views/inv_cisco_wlc_clients.py index b8796ed..58ad25b 100644 --- a/web/plugins/views/inv_cisco_wlc_clients.py +++ b/web/plugins/views/inv_cisco_wlc_clients.py @@ -3,68 +3,70 @@ import cmk.gui.utils from cmk.gui.plugins.views import ( - inventory_displayhints,) + inventory_displayhints, ) from cmk.gui.i18n import _ - inventory_displayhints.update({ - '.networking.wlan.controller.clients:': {'title' : _('WLC clients'), - 'keyorder': ['username', 'uptime', 'ipaddress', 'apmacaddress', 'ssid', - 'channel', 'accessvlan', 'devicetype', 'protocol', 'status', - ], - 'view' : 'invwlcclients_of_host'}, + '.networking.wlan.controller.clients:': {'title': _('WLC clients'), + 'keyorder': [ + 'index', 'test', 'username', 'uptime', 'ipaddress', 'apmacaddress', 'ssid', + 'channel', 'accessvlan', 'devicetype', 'protocol', 'status', + ], + 'view': 'invwlcclients_of_host'}, - '.networking.wlan.controller.clients:*.macaddress' : { 'title' : _('MAC Addresse'), }, - '.networking.wlan.controller.clients:*.status' : { 'title' : _('Status'), }, - '.networking.wlan.controller.clients:*.wlanprofilename' : { 'title' : _('WLAN profile name'), }, - '.networking.wlan.controller.clients:*.wgbstatus' : { 'title' : _('WGB status'), }, - '.networking.wlan.controller.clients:*.wgbmacaddress' : { 'title' : _('WGB MAC address'), }, - '.networking.wlan.controller.clients:*.protocol' : { 'title' : _('Protocol'), }, - '.networking.wlan.controller.clients:*.associationmode' : { 'title' : _('Association mode'), }, - '.networking.wlan.controller.clients:*.apmacaddress' : { 'title' : _('AP MAC address'), }, - '.networking.wlan.controller.clients:*.iftype' : { 'title' : _('Interface type'), }, - '.networking.wlan.controller.clients:*.ipaddress' : { 'title' : _('IP address'), }, - '.networking.wlan.controller.clients:*.nacstate' : { 'title' : _('NAC state'), }, - '.networking.wlan.controller.clients:*.quarantinevlan' : { 'title' : _('Quarantine VLAN'), }, - '.networking.wlan.controller.clients:*.accessvlan' : { 'title' : _('Access VLAN'), }, - '.networking.wlan.controller.clients:*.logintime' : { 'title' : _('Login time'), }, - '.networking.wlan.controller.clients:*.uptime' : { 'title' : _('Uptime'), }, - '.networking.wlan.controller.clients:*.powersavemode' : { 'title' : _('Power save mode'), }, - '.networking.wlan.controller.clients:*.currenttxrateset' : { 'title' : _('Current TX rate (MBit/s)'), }, - '.networking.wlan.controller.clients:*.datarateset' : { 'title' : _('Data rate set'), }, - '.networking.wlan.controller.clients:*.hreapapauth' : { 'title' : _('HREAP AP auth'), }, - '.networking.wlan.controller.clients:*.ieee80211ucapable' : { 'title' : _('802.11u capable'), }, - '.networking.wlan.controller.clients:*.posturestate' : { 'title' : _('Posture state'), }, - '.networking.wlan.controller.clients:*.aclname' : { 'title' : _('ACL name'), }, - '.networking.wlan.controller.clients:*.aclapplied' : { 'title' : _('ACL applied'), }, - '.networking.wlan.controller.clients:*.redirecturl' : { 'title' : _('Redirect URL'), }, - '.networking.wlan.controller.clients:*.aaaoverrideaclname' : { 'title' : _('AAA overide ACL name'), }, - '.networking.wlan.controller.clients:*.aaaoverrideaclapplied' : { 'title' : _('AAA overide ACL applied'), }, - '.networking.wlan.controller.clients:*.username' : { 'title' : _('Username'), }, - '.networking.wlan.controller.clients:*.ssid' : { 'title' : _('SSID'), }, - '.networking.wlan.controller.clients:*.securitytagid' : { 'title' : _('Security tag ID'), }, - '.networking.wlan.controller.clients:*.typekts' : { 'title' : _('NEC KTS SIP client'), }, - '.networking.wlan.controller.clients:*.ipv6aclname' : { 'title' : _('IPv6 ACL name'), }, - '.networking.wlan.controller.clients:*.ipv6aclapplied' : { 'title' : _('IPv6 ACL applied'), }, - '.networking.wlan.controller.clients:*.dataswitching' : { 'title' : _('Data switching'), }, - '.networking.wlan.controller.clients:*.authentication' : { 'title' : _('Authentication'), }, - '.networking.wlan.controller.clients:*.channel' : { 'title' : _('Channel'), }, - '.networking.wlan.controller.clients:*.authmode' : { 'title' : _('Auth mode'), }, - '.networking.wlan.controller.clients:*.reasoncode' : { 'title' : _('Reason code'), }, - '.networking.wlan.controller.clients:*.sessionid' : { 'title' : _('Session ID'), }, - '.networking.wlan.controller.clients:*.aproammacaddress' : { 'title' : _('AP roam MAC address'), }, - '.networking.wlan.controller.clients:*.mdnsprofile' : { 'title' : _('mDNS profile'), }, - '.networking.wlan.controller.clients:*.mdnsadvcount' : { 'title' : _('mDNS adv count'), }, - '.networking.wlan.controller.clients:*.policyname' : { 'title' : _('Policy name'), }, - '.networking.wlan.controller.clients:*.aaarole' : { 'title' : _('AAA role'), }, - '.networking.wlan.controller.clients:*.devicetype' : { 'title' : _('Device type'), }, - '.networking.wlan.controller.clients:*.userauthtype' : { 'title' : _('User auth type'), }, -# '.networking.wlan.controller.clients:*.certificate_type' : { 'title' : _('Certificate type'), 'short' : _('Cert type'), 'filter' : visuals.FilterInvtableWLCCertType, 'paint' : 'wlc_cert_type' }, + '.networking.wlan.controller.clients:*.index': {'title': _('Index'), }, + '.networking.wlan.controller.clients:*.test': {'title': _('Test'), }, + '.networking.wlan.controller.clients:*.macaddress': {'title': _('MAC Addresse'), }, + '.networking.wlan.controller.clients:*.status': {'title': _('Status'), }, + '.networking.wlan.controller.clients:*.wlanprofilename': {'title': _('WLAN profile name'), }, + '.networking.wlan.controller.clients:*.wgbstatus': {'title': _('WGB status'), }, + '.networking.wlan.controller.clients:*.wgbmacaddress': {'title': _('WGB MAC address'), }, + '.networking.wlan.controller.clients:*.protocol': {'title': _('Protocol'), }, + '.networking.wlan.controller.clients:*.associationmode': {'title': _('Association mode'), }, + '.networking.wlan.controller.clients:*.apmacaddress': {'title': _('AP MAC address'), }, + '.networking.wlan.controller.clients:*.iftype': {'title': _('Interface type'), }, + '.networking.wlan.controller.clients:*.ipaddress': {'title': _('IP address'), }, + '.networking.wlan.controller.clients:*.nacstate': {'title': _('NAC state'), }, + '.networking.wlan.controller.clients:*.quarantinevlan': {'title': _('Quarantine VLAN'), }, + '.networking.wlan.controller.clients:*.accessvlan': {'title': _('Access VLAN'), }, + '.networking.wlan.controller.clients:*.logintime': {'title': _('Login time'), }, + '.networking.wlan.controller.clients:*.uptime': {'title': _('Uptime'), }, + '.networking.wlan.controller.clients:*.powersavemode': {'title': _('Power save mode'), }, + '.networking.wlan.controller.clients:*.currenttxrateset': {'title': _('Current TX rate (MBit/s)'), }, + '.networking.wlan.controller.clients:*.datarateset': {'title': _('Data rate set'), }, + '.networking.wlan.controller.clients:*.hreapapauth': {'title': _('HREAP AP auth'), }, + '.networking.wlan.controller.clients:*.ieee80211ucapable': {'title': _('802.11u capable'), }, + '.networking.wlan.controller.clients:*.posturestate': {'title': _('Posture state'), }, + '.networking.wlan.controller.clients:*.aclname': {'title': _('ACL name'), }, + '.networking.wlan.controller.clients:*.aclapplied': {'title': _('ACL applied'), }, + '.networking.wlan.controller.clients:*.redirecturl': {'title': _('Redirect URL'), }, + '.networking.wlan.controller.clients:*.aaaoverrideaclname': {'title': _('AAA overide ACL name'), }, + '.networking.wlan.controller.clients:*.aaaoverrideaclapplied': {'title': _('AAA overide ACL applied'), }, + '.networking.wlan.controller.clients:*.username': {'title': _('Username'), }, + '.networking.wlan.controller.clients:*.ssid': {'title': _('SSID'), }, + '.networking.wlan.controller.clients:*.securitytagid': {'title': _('Security tag ID'), }, + '.networking.wlan.controller.clients:*.typekts': {'title': _('NEC KTS SIP client'), }, + '.networking.wlan.controller.clients:*.ipv6aclname': {'title': _('IPv6 ACL name'), }, + '.networking.wlan.controller.clients:*.ipv6aclapplied': {'title': _('IPv6 ACL applied'), }, + '.networking.wlan.controller.clients:*.dataswitching': {'title': _('Data switching'), }, + '.networking.wlan.controller.clients:*.authentication': {'title': _('Authentication'), }, + '.networking.wlan.controller.clients:*.channel': {'title': _('Channel'), }, + '.networking.wlan.controller.clients:*.authmode': {'title': _('Auth mode'), }, + '.networking.wlan.controller.clients:*.reasoncode': {'title': _('Reason code'), }, + '.networking.wlan.controller.clients:*.sessionid': {'title': _('Session ID'), }, + '.networking.wlan.controller.clients:*.aproammacaddress': {'title': _('AP roam MAC address'), }, + '.networking.wlan.controller.clients:*.mdnsprofile': {'title': _('mDNS profile'), }, + '.networking.wlan.controller.clients:*.mdnsadvcount': {'title': _('mDNS adv count'), }, + '.networking.wlan.controller.clients:*.policyname': {'title': _('Policy name'), }, + '.networking.wlan.controller.clients:*.aaarole': {'title': _('AAA role'), }, + '.networking.wlan.controller.clients:*.devicetype': {'title': _('Device type'), }, + '.networking.wlan.controller.clients:*.userauthtype': {'title': _('User auth type'), }, -}) + # '.networking.wlan.controller.clients:*.certificate_type' : { 'title' : _('Certificate type'), 'short' : _('Cert type'), 'filter' : visuals.FilterInvtableWLCCertType, 'paint' : 'wlc_cert_type' }, +}) from cmk.gui.plugins.views.inventory import declare_invtable_view -declare_invtable_view('invwlcclients', '.networking.wlan.controller.clients:', _('WLC clients'), _('WLC clients')) +declare_invtable_view('invwlcclients', '.networking.wlan.controller.clients:', _('WLC clients'), _('WLC clients')) diff --git a/web/plugins/wato/inv_cisco_wlc_clients.py b/web/plugins/wato/inv_cisco_wlc_clients.py index f56883d..7da5516 100644 --- a/web/plugins/wato/inv_cisco_wlc_clients.py +++ b/web/plugins/wato/inv_cisco_wlc_clients.py @@ -67,7 +67,10 @@ removecolumns = [ def _valuespec_inv_cisco_wlc_clients(): return Dictionary( - title=_('Cisco WLC Client inventory'), + title=_('Cisco WLC Clients'), + help=_('This inventory plugin collects all the client information from a Cisco Wireless LAN Controller. ' + 'To use this plugin you must also enable "Status data inventory" in a "Do hardware/software inventory" ' + 'rule.'), elements=[ ('removecolumns', ListChoice( -- GitLab