Я пытаюсь проанализировать разделы команды Cisco show License all. Некоторые разделы важнее других, поэтому я стараюсь сосредоточиться на них. Возможно, это плохая стратегия.
В выводе команды Cisco show License all иногда присутствует раздел «Приобретенные лицензии». Это сильно варьируется в зависимости от модели и версии кода (поэтому сложно что-либо требовать). Иногда раздела «Купленные лицензии» может не быть, а если он и есть, то он может не иметь шаблонов, показанных ниже.
В этом разделе «Купленные лицензии» мне нужно зафиксировать несколько вложений, если они существуют.
Как минимум, я ищу Описание (может быть, заполнение?), а затем Активно: Ожидание: Тип лицензии: Дата начала и окончания.
Example 1:
Purchased Licenses:
C9500 48Y4C DNA Advantage (C9500 48Y4C DNA Advantage):
Description: C9500 48Y4C DNA Advantage
Total reserved count: 1
Term information:
Active: PID:C9500-48Y4C,SN:AB123456CDE
License type: TERM
Start Date: 2021-MAR-11 UTC
End Date: 2026-MAR-11 UTC
Term Count: 1
C9500 Network Advantage (C9500 Network Advantage):
Description: C9500 Network Advantage
Total reserved count: 1
Term information:
Active: PID:C9500-48Y4C,SN:AB123456CDE
License type: PERPETUAL
Term Count: 1
Example 2:
Purchased Licenses:
C9500 Network Advantage (C9500 Network Advantage):
Description: C9500 Network Advantage
Total reserved count: 2
Term information:
Active: PID:C9500-24Y4C,SN:AB123456CDE
License type: PERPETUAL
Term Count: 1
Standby: PID:C9500-24Y4C,SN:AB123456CDE
License type: PERPETUAL
Term Count: 1
C9500 24Y4C DNA Advantage (C9500 24Y4C DNA Advantage):
Description: C9500 24Y4C DNA Advantage
Total reserved count: 2
Term information:
Active: PID:C9500-24Y4C,SN:AB123456CDE
License type: TERM
Start Date: 2021-JUN-12 UTC
End Date: 2026-JUN-12 UTC
Term Count: 1
Standby: PID:C9500-24Y4C,SN:AB123456CDE
License type: TERM
Start Date: 2021-JUN-12 UTC
End Date: 2026-JUN-12 UTC
Term Count: 1
Итак, для примера 2 я ожидал бы что-то вроде:
[
["C9500 Network Advantage","Active", "PID:C9500-24Y4C,SN:AB123456CDE", "PERPETUAL", "", "", "1"],
["C9500 Network Advantage","Standby", "PID:C9500-24Y4C,SN:AB123456CDE", "PERPETUAL", "", "", "1"],
["C9500 24Y4C DNA Advantage","Active", "PID:C9500-24Y4C,SN:AB123456CDE", "TERM", "2021-JUN-12 UTC", "2026-JUN-12 UTC", "1"],
["C9500 24Y4C DNA Advantage","Standby", "PID:C9500-24Y4C,SN:AB123456CDE", "TERM", "2021-JUN-12 UTC", "2026-JUN-12 UTC", "1"],
]
Пример 1 будет похож, но короче:
[
["C9500 Network Advantage","Active", "PID:C9500-48Y4C,SN:AB123456CDE", "TERM", "2021-MAR-11 UTC", "2026-MAR-11 UTC", "1"],
["C9500 24Y4C DNA Advantage","Active", "PID:C9500-48Y4C,SN:AB123456CDE", "PERPETUAL", "", "", "1"],
]
Сейчас это у меня есть. Я пытаюсь проанализировать весь вывод, который имеет много разделов. Я надеюсь, что если я смогу понять, как извлечь раздел приобретенных лицензий, остальное будет немного проще, поскольку я считаю, что это связано с моим непониманием того, как перемещаться по разделам, записывать многострочные данные и, возможно, очищать значения. .
Value SMART_LIC_STATE (\S+)
# Usage Reporting
Value LAST_ACK_RCV (.+)
Value NEXT_ACK_DEADLINE (.+)
Value RPT_PUSH_INTV (.+)
Value NEXT_ACK_PUSH (.+)
Value NEXT_RPT_PUSH (.+)
Value LAST_RPT_PUSH (.+)
Value LAST_RPT_FILE (.+)
# Purchased Licenses
Value Filldown TITLE (C\d\d\d\d\s+.+\s+\(.+\))
Value List PLIC_LINES (.+)
Value DESC (.+)
Value RESV (\d+)
Start
^Smart Licensing Status$$
^=+$$
^\s+$$
^Smart Licensing is ${SMART_LIC_STATE}$$
^Usage\s+Reporting:$$ -> UsageReporting
^Purchased\s+Licenses:$$ -> PurchasedLicenses
UsageReporting
^\s+Last ACK received:\s+${LAST_ACK_RCV}$$
^\s+Next ACK deadline:\s+${NEXT_ACK_DEADLINE}$$
^\s+Reporting push interval:\s+${RPT_PUSH_INTV}$$
^\s+Next ACK push check:\s+${NEXT_ACK_PUSH}$$
^\s+Next report push:\s+${NEXT_RPT_PUSH}$$
^\s+Last report push:\s+${LAST_RPT_PUSH}$$
^\s+Last report file write:\s+${LAST_RPT_FILE}$$
PurchasedLicenses
^\s+${TITLE}:$$
# ^\s+Description:\s+${DESC}$$
# ^\s+Total reserved count:\s${RESV}$$
^${PLIC_LINES}
^\s+${TITLE}:$$ -> Record PurchasedLicenses
РЕЗУЛЬТАТ из шаблона выше:
['SMART_LIC_STATE', 'LAST_ACK_RCV', 'NEXT_ACK_DEADLINE', 'RPT_PUSH_INTV', 'NEXT_ACK_PUSH', 'NEXT_RPT_PUSH', 'LAST_RPT_PUSH', 'LAST_RPT_FILE', 'TITLE', 'PLIC_LINES', 'DESC', 'RESV']
[['ENABLED', 'Apr 10 15:30:04 2024 CEST', 'Jul 09 15:30:04 2024 CEST', '30 days', '', 'May 10 15:25:06 2024 CEST', 'Apr 10 15:25:06 2024 CEST', '', '', [], '', '']]
Полный вывод команды show License All в качестве примера (опять же, это зависит от модели и версии программного обеспечения).!--- show license all on a C9500
Smart Licensing Status
======================
Smart Licensing is ENABLED
Export Authorization Key:
Features Authorized:
Utility:
Status: DISABLED
Smart Licensing Using Policy:
Status: ENABLED
Account Information:
Smart Account: ACME Inc. Blah Blah
Virtual Account: DEFAULT
Data Privacy:
Sending Hostname: yes
Callhome hostname privacy: DISABLED
Smart Licensing hostname privacy: DISABLED
Version privacy: DISABLED
Transport:
Type: Callhome
Miscellaneous:
Custom Id:
Policy:
Policy in use: Merged from multiple sources.
Reporting ACK required: yes (CISCO default)
Unenforced/Non-Export Perpetual Attributes:
First report requirement (days): 365 (CISCO default)
Reporting frequency (days): 0 (CISCO default)
Report on change (days): 90 (CISCO default)
Unenforced/Non-Export Subscription Attributes:
First report requirement (days): 90 (CISCO default)
Reporting frequency (days): 90 (CISCO default)
Report on change (days): 90 (CISCO default)
Enforced (Perpetual/Subscription) License Attributes:
First report requirement (days): 0 (CISCO default)
Reporting frequency (days): 0 (CISCO default)
Report on change (days): 0 (CISCO default)
Export (Perpetual/Subscription) License Attributes:
First report requirement (days): 0 (CISCO default)
Reporting frequency (days): 0 (CISCO default)
Report on change (days): 0 (CISCO default)
Usage Reporting:
Last ACK received:
Next ACK deadline: Jan 26 22:28:05 2022 New York
Reporting push interval: 30 days
Next ACK push check:
Next report push: Mar 13 20:58:31 2024 New York
Last report push:
Last report file write:
Trust Code Installed:
License Usage
=============
network-advantage (C9500 Network Advantage):
Description: C9500 Network Advantage
Count: 2
Version: 1.0
Status: IN USE
Export status: NOT RESTRICTED
Feature Name: network-advantage
Feature Description: C9500 Network Advantage
Enforcement type: NOT ENFORCED
License type: Perpetual
dna-advantage (C9500 48Y4C DNA Advantage):
Description: C9500-48Y4C DNA Advantage
Count: 2
Version: 1.0
Status: IN USE
Export status: NOT RESTRICTED
Feature Name: dna-advantage
Feature Description: C9500-48Y4C DNA Advantage
Enforcement type: NOT ENFORCED
License type: Subscription
Product Information
===================
UDI: PID:C9500-48Y4C,SN:AB123456CDE
HA UDI List:
Active:PID:C9500-48Y4C,SN:AB123456CDE
Standby:PID:C9500-48Y4C,SN:AB123456CDE
Agent Version
=============
Smart Agent for Licensing: 5.5.29_rel/114
License Authorizations
======================
Overall status:
Active: PID:C9500-48Y4C,SN:AB123456CDE
Status: NOT INSTALLED
Standby: PID:C9500-48Y4C,SN:AB123456CDE
Status: NOT INSTALLED
Purchased Licenses:
C9500 Network Advantage (C9500 Network Advantage):
Description: C9500 Network Advantage
Total reserved count: 2
Term information:
Active: PID:C9500-48Y4C,SN:AB123456CDE
License type: PERPETUAL
Term Count: 1
Standby: PID:C9500-48Y4C,SN:AB123456CDE
License type: PERPETUAL
Term Count: 1
C9500 48Y4C DNA Advantage (C9500 48Y4C DNA Advantage):
Description: C9500 48Y4C DNA Advantage
Total reserved count: 2
Term information:
Active: PID:C9500-48Y4C,SN:AB123456CDE
License type: TERM
Start Date: 2021-DEC-11 UTC
End Date: 2026-DEC-11 UTC
Term Count: 1
Standby: PID:C9500-48Y4C,SN:AB123456CDE
License type: TERM
Start Date: 2021-DEC-11 UTC
End Date: 2026-DEC-11 UTC
Term Count: 1
Derived Licenses:
Entitlement Tag: regid.2019-03.com.cisco.advantagek9-Nyquist-C9500,1.0_f1563778-2e03-4a4c-bec5-5fjjc525a12c
Usage Report Summary:
=====================
Total: 23, Purged: 0
Total Acknowledged Received: 0, Waiting for Ack: 0
Available to Report: 23 Collecting Data: 2
Подробнее здесь: https://stackoverflow.com/questions/786 ... d-with-tex