diff --git a/changelogs/fragments/error_parser_bug.yml b/changelogs/fragments/error_parser_bug.yml new file mode 100644 index 000000000..af3d1d0e2 --- /dev/null +++ b/changelogs/fragments/error_parser_bug.yml @@ -0,0 +1,3 @@ +--- +bugfixes: + - "Fix invalid password length not being recognized by the error parser." diff --git a/changelogs/fragments/ios_snmp_server_changes.yml b/changelogs/fragments/ios_snmp_server_changes.yml new file mode 100644 index 000000000..6b20d0ea4 --- /dev/null +++ b/changelogs/fragments/ios_snmp_server_changes.yml @@ -0,0 +1,7 @@ +--- +minor_changes: + - ios_snmp_server - Update the module to manage correctly a lot of traps not take in count + - ios_snmp_server - Fix an issue with cbgp2 to take in count correctly the bgp traps +deprecated_features: + - ios_snmp_server - deprecate traps.mpls_vpn with traps.mpls + - ios_snmp_server - deprecate traps.envmon.fan with traps.envmon.fan_enable diff --git a/docs/cisco.ios.ios_snmp_server_module.rst b/docs/cisco.ios.ios_snmp_server_module.rst index 05ab8d691..7caf50682 100644 --- a/docs/cisco.ios.ios_snmp_server_module.rst +++ b/docs/cisco.ios.ios_snmp_server_module.rst @@ -599,6 +599,27 @@ Parameters
SNMP group for the user
+ + + + +
+ match + +
+ string +
+ + + + + +
Specify a context name match criteria
+ + @@ -1308,6 +1329,27 @@ Parameters + +
+ aaa_server + +
+ boolean +
+ + + + + +
Enable SNMP AAA Server traps
+ + + + +
auth_framework @@ -1750,6 +1792,174 @@ Parameters + + + + +
+ bulkstat + +
+ dictionary +
+ + + + +
Allow Data-Collection-MIB Collection notifications
+ + + + + + + +
+ collection + +
+ boolean +
+ + + + + +
Enable Data-Collection-MIB Collection notifications
+ + + + + + + +
+ enable + +
+ boolean +
+ + + + + +
Enable Data-Collection-MIB Collection and Transfert notifications
+ + + + + + + +
+ transfer + +
+ boolean +
+ + + + + +
Enable Data-Collection-MIB Transfer notifications
+ + + + + + + +
+ call_home + +
+ dictionary +
+ + + + +
SNMP CISCO-CALLHOME-MIB traps
+ + + + + + + +
+ enable + +
+ boolean +
+ + + + + +
Enable SNMP CISCO-CALLHOME-MIB traps
+ + + + + + + +
+ message_send_fail + +
+ boolean +
+ + + + + +
Enable SNMP ccmSmtpMsgSendFailNotif notification
+ + + + + + + +
+ server_fail + +
+ boolean +
+ + + + + +
Enable SNMP ccmSmtpServerFailNotif notification
+ + + @@ -2218,7 +2428,7 @@ Parameters
- envmon + entity_diag
dictionary @@ -2227,7 +2437,7 @@ Parameters -
Allow envmon related traps
+
Allow SNMP CISCO-ENTITY-DIAG-MIB traps
@@ -2236,24 +2446,27 @@ Parameters
- fan + boot_up_fail
- dictionary + boolean
+ -
Enable SNMP envmon fan traps
+
Enable SNMP ceDiagBootUpFailedNotif traps
- - + - +
enable @@ -2268,17 +2481,16 @@ Parameters -
Enable/disable fan traps
+
Enable SNMP CISCO-ENTITY-DIAG-MIB traps
- - +
- shutdown + hm_test_recover
boolean @@ -2291,17 +2503,16 @@ Parameters -
Enable SNMP environmental monitor shutdown traps
+
Enable SNMP ceDiagHMTestRecoverNotif traps
- - +
- status + hm_thresh_reached
boolean @@ -2314,17 +2525,16 @@ Parameters -
Enable SNMP environmental status change traps
+
Enable SNMP ceDiagHMThresholdReachedNotif traps
- - +
- supply + scheduled_test_fail
boolean @@ -2337,40 +2547,34 @@ Parameters -
Enable SNMP environmental monitor supply traps
+
Enable SNMP ceDiagScheduledTestFailedNotif traps
+ - - - +
- temperature + entity_perf
- boolean + dictionary
-
    Choices: -
  • no
  • -
  • yes
  • -
-
Enable SNMP environmental monitor temperature traps
+
Allow SNMP CISCO-ENTITY-PERFORMANCE-MIB traps
- - +
- shutdown + enable
boolean @@ -2383,7 +2587,7 @@ Parameters -
Enable SNMP environmental monitor shutdown traps
+
Enable SNMP CISCO-ENTITY-PERFORMANCE-MIB traps
@@ -2392,7 +2596,7 @@ Parameters
- status + throughput_notif
boolean @@ -2405,16 +2609,16 @@ Parameters -
Enable SNMP environmental status change traps
+
Enable ENTITY PERFORMANCE MIB throughput traps
+ - - +
- supply + entity_state
boolean @@ -2427,75 +2631,3915 @@ Parameters -
Enable SNMP environmental monitor supply traps
+
Enable SNMP ENTITY-STATE-MIB traps
- - +
- temperature + envmon
- boolean + dictionary
-
    Choices: -
  • no
  • + + +
    Enable SNMP environmental monitor traps
    + + + + + + + +
    + enable + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable/disable envmon traps
    + + + + + + + +
    + fan + +
    + dictionary +
    + + + + +
    Enable SNMP envmon fan traps
    +
    This option is DEPRECATED and is replaced with fan_enable which accepts bool as input
    +
    This attribute will be removed after 2024-09-01
    + + + + + + + + +
    + enable + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable/disable fan traps
    + + + + + + + + +
    + shutdown + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP environmental monitor shutdown traps
    + + + + + + + + +
    + status + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP environmental status change traps
    + + + + + + + + +
    + supply + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP environmental monitor supply traps
    + + + + + + + + +
    + temperature + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP environmental monitor temperature traps
    + + + + + + + + +
    + fan_enable + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP envmon fan traps
    + + + + + + + +
    + shutdown + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP environmental monitor shutdown traps
    + + + + + + + +
    + status + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP environmental status change traps
    + + + + + + + +
    + supply + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP environmental monitor supply traps
    + + + + + + + +
    + temperature + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP environmental monitor temperature traps
    + + + + + + + +
    + errdisable + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP errdisable notifications
    + + + + + + +
    + ether_oam + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP ethernet oam traps
    + + + + + + +
    + ethernet + +
    + dictionary +
    + + + + +
    Allow ethernet traps
    + + + + + + + +
    + cfm + +
    + dictionary +
    + + + + +
    Enable SNMP Ethernet CFM traps
    + + + + + + + + +
    + alarm + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP Ethernet CFM fault alarm trap
    + + + + + + + + +
    + cc + +
    + dictionary +
    + + + + +
    Enable SNMP Ethernet CC trap
    + + + + + + + + + +
    + config + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP Ethernet CFM configuration error traps
    + + + + + + + + + +
    + cross_connect + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP Ethernet CFM cross-connect traps
    + + + + + + + + + +
    + loop + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP Ethernet CFM loop traps
    + + + + + + + + + +
    + mep_down + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP Ethernet CFM CC Down traps
    + + + + + + + + + +
    + mep_up + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP Ethernet CFM CC Up traps
    + + + + + + + + + +
    + crosscheck + +
    + dictionary +
    + + + + +
    Enable SNMP Ethernet CC crosscheck trap
    + + + + + + + + + +
    + mep_missing + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP Ethernet CC crosscheck missing trap
    + + + + + + + + + +
    + mep_unknown + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP Ethernet CC crosscheck unknown traps
    + + + + + + + + + +
    + service_up + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP Ethernet CC crosscheck service traps
    + + + + + + + + + +
    + evc + +
    + dictionary +
    + + + + +
    Enable SNMP Ethernet EVC traps
    + + + + + + + + +
    + create + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP Ethernet EVC create traps
    + + + + + + + + +
    + delete + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP Ethernet EVC delete traps
    + + + + + + + + +
    + status + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP Ethernet EVC status traps
    + + + + + + + + +
    + event_manager + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP event-manager traps
    + + + + + + +
    + firewall + +
    + dictionary +
    + + + + +
    Enable SNMP firewall traps
    + + + + + + + +
    + enable + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable/disable firewall traps
    + + + + + + + +
    + serverstatus + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable firewall server status change trap
    + + + + + + + +
    + flash + +
    + dictionary +
    + + + + +
    SNMP FLASH notifications
    + + + + + + + +
    + enable + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP FLASH notifications
    + + + + + + + +
    + insertion + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP Flash Insertion notifications
    + + + + + + + +
    + lowspace + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP Flash Low Space notifications
    + + + + + + + +
    + removal + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP Flash Removal notifications
    + + + + + + + +
    + flex_links + +
    + dictionary +
    + + + + +
    SNMP FLEX Links traps
    + + + + + + + +
    + enable + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP FLEX Links traps
    + + + + + + + +
    + status + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP FLEX Links status change traps
    + + + + + + + +
    + flowmon + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP flowmon traps
    + + + + + + +
    + frame_relay + +
    + dictionary +
    + + + + +
    Allow frame-relay traps
    + + + + + + + +
    + enable + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable/disable frame-relay traps
    + + + + + + + +
    + subif + +
    + dictionary +
    + + + + +
    Enable SNMP frame-relay subinterface traps
    + + + + + + + + +
    + count + +
    + integer +
    + + + + +
    Maximum number of traps sent per interval
    + + + + + + + + +
    + enable + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable/disable subif traps
    + + + + + + + + +
    + interval + +
    + integer +
    + + + + +
    Interval duration in which to limit the number of traps sent
    + + + + + + + + +
    + fru_ctrl + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP fru-ctrl traps
    + + + + + + +
    + hsrp + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP hsrp traps
    + + + + + + +
    + ike + +
    + dictionary +
    + + + + +
    Allow ike traps
    + + + + + + + +
    + policy + +
    + dictionary +
    + + + + +
    Enable IKE Policy traps
    + + + + + + + + +
    + add + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable IKE Policy add trap
    + + + + + + + + +
    + delete + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable IKE Policy delete trap
    + + + + + + + + +
    + tunnel + +
    + dictionary +
    + + + + +
    Enable IKE Tunnel traps
    + + + + + + + + +
    + start + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable IKE Tunnel start trap
    + + + + + + + + +
    + stop + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable IKE Tunnel stop trap
    + + + + + + + + +
    + ipmulticast + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP ip multi cast traps
    + + + + + + +
    + ipsec + +
    + dictionary +
    + + + + +
    Allow ike traps
    + + + + + + + +
    + cryptomap + +
    + dictionary +
    + + + + +
    Enable IPsec Cryptomap traps
    + + + + + + + + +
    + add + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable IPsec Cryptomap add trap
    + + + + + + + + +
    + attach + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable IPsec Cryptomap Attach trap
    + + + + + + + + +
    + delete + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable IPsec Cryptomap delete trap
    + + + + + + + + +
    + detach + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable IPsec Cryptomap Detach trap
    + + + + + + + + +
    + too_many_sas + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable IPsec Tunnel Start trap
    + + + + + + + +
    + tunnel + +
    + dictionary +
    + + + + +
    Enable IPsec Tunnel traps
    + + + + + + + + +
    + start + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable IPsec Tunnel start trap
    + + + + + + + + +
    + stop + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable IPsec Tunnel stop trap
    + + + + + + + + +
    + ipsla + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP ipsla traps
    + + + + + + +
    + isis + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP isis traps
    + + + + + + +
    + l2tc + +
    + dictionary +
    + + + + +
    Allow SNMP L2 Tunnel Config traps
    + + + + + + + +
    + enable + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP L2 Tunnel Config traps
    + + + + + + + +
    + sys_threshold + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP L2TC System threshold traps
    + + + + + + + +
    + threshold + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP L2 Tunnel Config threshold traps
    + + + + + + + +
    + l2tun + +
    + dictionary +
    + + + + +
    Allow SNMP l2tun traps
    + + + + + + + +
    + pseudowire_status + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable BFD pseudo wire status traps
    + + + + + + + +
    + session + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable BFD session traps
    + + + + + + + +
    + license + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable license traps
    + + + + + + +
    + lisp + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP LISP MIB traps
    + + + + + + +
    + local_auth + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP local auth traps
    + + + + + + +
    + mac_notification + +
    + dictionary +
    + + + + +
    Allow SNMP MAC Notification traps
    + + + + + + + +
    + change + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP MAC Change traps
    + + + + + + + +
    + enable + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP MAC Notification traps
    + + + + + + + +
    + move + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP MAC Move traps
    + + + + + + + +
    + threshold + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP MAC Threshold traps
    + + + + + + + +
    + memory + +
    + dictionary +
    + + + + +
    Allow MEMORY traps
    + + + + + + + +
    + bufferpeak + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP Memory Bufferpeak traps
    + + + + + + + +
    + enable + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable MEMORY traps
    + + + + + + + +
    + mpls + +
    + dictionary +
    + + + + +
    Enable SNMP mpls traps
    + + + + + + + +
    + fast_reroute + +
    + dictionary +
    + + + + +
    Allow SNMP MPLS fast reroute traps
    + + + + + + + + +
    + enable + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP MPLS fast reroute traps
    + + + + + + + + +
    + protected + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable MPLS fast reroute protection traps
    + + + + + + + + +
    + ldp + +
    + dictionary +
    + + + + +
    Allow SNMP MPLS label distribution protocol traps
    + + + + + + + + +
    + enable + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP MPLS label distribution protocol traps
    + + + + + + + + +
    + pv_limit + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable MPLS LDP path vector limit mismatch traps
    + + + + + + + + +
    + session_down + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable MPLS LDP session down traps
    + + + + + + + + +
    + session_up + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable MPLS LDP session up traps
    + + + + + + + + +
    + threshold + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable MPLS LDP threshold exceeded traps
    + + + + + + + + +
    + rfc + +
    + dictionary +
    + + + + +
    Enable SNMP MPLS RFC traps
    + + + + + + + + +
    + ldp + +
    + dictionary +
    + + + + +
    Allow SNMP MPLS label distribution protocol RFC traps
    + + + + + + + + + +
    + enable + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP MPLS label distribution protocol RFC traps
    + + + + + + + + + +
    + pv_limit + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable MPLS LDP path vector limit mismatch RFC traps
    + + + + + + + + + +
    + session_down + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable MPLS LDP session down RFC traps
    + + + + + + + + + +
    + session_up + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable MPLS LDP session up RFC traps
    + + + + + + + + + +
    + threshold + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable MPLS LDP threshold exceeded RFC traps
    + + + + + + + + + +
    + traffic_eng + +
    + dictionary +
    + + + + +
    Allow SNMP MPLS traffic engineering RFC traps
    + + + + + + + + + +
    + down + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable MPLS TE tunnel down RFC traps
    + + + + + + + + + +
    + enable + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP MPLS traffic engineering RFC traps
    + + + + + + + + + +
    + reoptimized + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable MPLS TE tunnel reoptimized RFC traps
    + + + + + + + + + +
    + reroute + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable MPLS TE tunnel reroute RFC traps
    + + + + + + + + + +
    + up + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable MPLS TE tunnel up RFC traps
    + + + + + + + + + +
    + vpn + +
    + dictionary +
    + + + + +
    Allow SNMP MPLS Virtual Private Network RFC traps
    + + + + + + + + + +
    + enable + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP MPLS Virtual Private Network RFC traps
    + + + + + + + + + +
    + illegal_label + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable MPLS VPN illegal label threshold exceeded RFC traps
    + + + + + + + + + +
    + max_thresh_cleared + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable MPLS VPN maximum threshold cleared RFC traps
    + + + + + + + + + +
    + max_threshold + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable MPLS VPN maximum threshold exceeded RFC traps
    + + + + + + + + + +
    + mid_threshold + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable MPLS VPN middle threshold exceeded RFC traps
    + + + + + + + + + +
    + vrf_down + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable MPLS VPN vrf down RFC traps
    + + + + + + + + + +
    + vrf_up + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable MPLS VPN vrf up RFC traps
    + + + + + + + + + +
    + traffic_eng + +
    + dictionary +
    + + + + +
    Allow SNMP MPLS traffic engineering traps
    + + + + + + + + +
    + down + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable MPLS TE tunnel down traps
    + + + + + + + + +
    + enable + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP MPLS traffic engineering traps
    + + + + + + + + +
    + reroute + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable MPLS TE tunnel reroute traps
    + + + + + + + + +
    + up + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable MPLS TE tunnel up traps
    + + + + + + + + +
    + vpn + +
    + dictionary +
    + + + + +
    Allow SNMP MPLS Virtual Private Network traps
    + + + + + + + + +
    + enable + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP MPLS Virtual Private Network traps
    + + + + + + + + +
    + illegal_label + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable MPLS VPN illegal label threshold exceeded traps
    + + + + + + + + +
    + max_thresh_cleared + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable MPLS VPN maximum threshold cleared traps
    + + + + + + + + +
    + max_threshold + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable MPLS VPN maximum threshold exceeded traps
    + + + + + + + + +
    + mid_threshold + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable MPLS VPN middle threshold exceeded traps
    + + + + + + + + +
    + vrf_down + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable MPLS VPN vrf down traps
    + + + + + + + + +
    + vrf_up + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable MPLS VPN vrf up traps
    + + + + + + + + +
    + mpls_vpn + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP mpls traps
    +
    This option is DEPRECATED and is replaced with mpls which accepts dict as input
    +
    This attribute will be removed after 2024-09-01
    + + + + + + +
    + msdp + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP msdp traps
    + + + + + + +
    + mvpn + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP mvpn traps
    + + + + + + +
    + nhrp + +
    + dictionary +
    + + + + +
    Allow SNMP NHRP traps
    + + + + + + + +
    + enable + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable SNMP NHRP traps
    + + + + + + + +
    + nhc + +
    + dictionary +
    + + + + +
    Allow Next Hop Client traps
    + + + + + + + + +
    + down + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable Next Hop Client down trap
    + + + + + + + + +
    + enable + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable Next Hop Client traps
    + + + + + + + + +
    + up + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable Next Hop Client up trap
    + + + + + + + + +
    + nhp + +
    + dictionary +
    + + + + +
    Allow Next Hop Peer traps
    + + + + + + + + +
    + down + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable Next Hop Peer down trap
    + + + + + + + + +
    + enable + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable Next Hop Peer traps
    + + + + + + + + +
    + up + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable Next Hop Peer up trap
    + + + + + + + + +
    + nhs + +
    + dictionary +
    + + + + +
    Allow Next Hop Server traps
    + + + + + + + + +
    + down + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable Next Hop Server down trap
    + + + + + + + + +
    + enable + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable Next Hop Server traps
    + + + + + + + + +
    + up + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable Next Hop Server up trap
    + + + + + + + + +
    + quota_exceeded + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable quota-exceeded trap
    + + + + + + + +
    + ospf + +
    + dictionary +
    + + + + +
    Allow ospf related traps
    + + + + + + + +
    + cisco_specific + +
    + dictionary +
    + + + + +
    Cisco specific traps
    + + + + + + + + +
    + error + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    error traps
    + + + + + + + + +
    + lsa + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Lsa related traps
    + + + + + + + + +
    + retransmit + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Packet retransmit traps
    + + + + + + + + +
    + state_change + +
    + dictionary +
    + + + + +
    state change traps
    + + + + + + + + + +
    + nssa_trans_change + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Nssa translator state changes
    + + + + + + + + + +
    + shamlink + +
    + dictionary +
    + + + + +
    Config mismatch errors on virtual interfaces
    + + + + + + + + + + +
    + interface + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Sham link interface state changes
    + + + + + + + + + + +
    + neighbor + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Sham link neighbor state changes
    + + + + + + + + + + +
    + error + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable error traps
    + + + + + + + +
    + lsa + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable/disable ospf lsa traps
    + + + + + + + +
    + retransmit + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable/disable ospf retransmit traps
    + + + + + + + +
    + state_change + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable/disable state change traps
    + + + + + + + +
    + ospfv3 + +
    + dictionary +
    + + + + +
    Allow OSPFv3 related traps
    + + + + + + + +
    + errors + +
    + dictionary +
    + + + + +
    Error traps
    + + + + + + + + +
    + bad_packet + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Packet parse failure on non-virtual interfaces
    + + + + + + + + +
    + config_error + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Config mismatch errors on non-virtual interfaces
    + + + + + + + + +
    + enable + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Enable Error traps
    + + + + + + + + +
    + virt_bad_packet + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Packet parse failure on virtual interfaces
    + + + + + + + + +
    + virt_config_error + +
    + boolean +
    + + +
      Choices: +
    • no
    • +
    • yes
    • +
    + + +
    Config mismatch errors on virtual interfaces
    + + + + + + + + +
    + rate_limit + +
    + integer +
    + + + + +
    Trap rate limit values
    +
    Rate limit window size in seconds (between 2 and 60)
    + + + + + + + +
    + state_change + +
    + dictionary +
    + + + + +
    State change traps
    + + + + + + + + +
    + enable + +
    + boolean +
    + + +
      Choices: +
    • no
    • yes
    -
    Enable SNMP environmental monitor temperature traps
    +
    Enable State change traps
    - - + + +
    - ethernet + if_state_change
    - dictionary + boolean
    +
      Choices: +
    • no
    • +
    • yes
    • +
    -
    Allow ethernet traps
    +
    Non_virtual interface state changes
    - + - + +
    - cfm + neighbor_restart_helper_status_change
    - dictionary + boolean
    +
      Choices: +
    • no
    • +
    • yes
    • +
    -
    Enable SNMP Ethernet CFM traps
    +
    Neighbor graceful restart helper status changes
    - +
    - alarm + neighbor_state_change
    boolean @@ -2508,7 +6552,7 @@ Parameters
-
Enable SNMP Ethernet CFM fault alarm trap
+
Non_virtual neighbor state changes
@@ -2518,27 +6562,30 @@ Parameters
- cc + nssa_translator_status_change
- dictionary + boolean
+
    Choices: +
  • no
  • +
  • yes
  • +
-
Enable SNMP Ethernet CC trap
+
NSSA translator status changes
- - + - +
- config + restart_status_change
boolean @@ -2551,7 +6598,7 @@ Parameters -
Enable SNMP Ethernet CFM configuration error traps
+
Graceful restart status changes
@@ -2559,10 +6606,9 @@ Parameters - - +
- cross_connect + virtif_state_change
boolean @@ -2575,7 +6621,7 @@ Parameters -
Enable SNMP Ethernet CFM cross-connect traps
+
Virtual interface state changes
@@ -2583,10 +6629,9 @@ Parameters - - +
- loop + vn_restart_helper_status_change
boolean @@ -2599,7 +6644,7 @@ Parameters -
Enable SNMP Ethernet CFM loop traps
+
Virtual neighbor graceful restart helper status changes
@@ -2607,10 +6652,9 @@ Parameters - - +
- mep_down + vn_state_change
boolean @@ -2623,18 +6667,35 @@ Parameters -
Enable SNMP Ethernet CFM CC Down traps
+
Virtual neighbor state changes
+ + + +
+ pim + +
+ dictionary +
+ + + + +
Allow PIM traps
+ + + - +
- mep_up + enable
boolean @@ -2647,38 +6708,60 @@ Parameters -
Enable SNMP Ethernet CFM CC Up traps
+
Enable/disable PIM traps
- - - +
- crosscheck + invalid_pim_message
- dictionary + boolean
+
    Choices: +
  • no
  • +
  • yes
  • +
-
Enable SNMP Ethernet CC crosscheck trap
+
Enable invalid pim message trap
- + + +
+ neighbor_change + +
+ boolean +
+ + +
    Choices: +
  • no
  • +
  • yes
  • +
+ + +
Enable neighbor change trap
+ + + + - +
- mep_missing + rp_mapping_change
boolean @@ -2691,18 +6774,37 @@ Parameters -
Enable SNMP Ethernet CC crosscheck missing trap
+
Enable rp mapping change trap
+ + +
+ pki + +
+ boolean +
+ + +
    Choices: +
  • no
  • +
  • yes
  • +
+ + +
Enable SNMP pki traps
+ + + - - +
- mep_unknown + port_security
boolean @@ -2715,18 +6817,33 @@ Parameters -
Enable SNMP Ethernet CC crosscheck unknown traps
+
Enable SNMP port security traps
+ +
+ power_ethernet + +
+ dictionary +
+ + + + +
Allow SNMP power ethernet traps
+ + + - +
- service_up + enable
boolean @@ -2739,27 +6856,26 @@ Parameters -
Enable SNMP Ethernet CC crosscheck service traps
+
Enable SNMP power ethernet traps
- -
- evc + group
- dictionary + list + / elements=dictionary
-
Enable SNMP Ethernet EVC traps
+
Enable SNMP inline power group based traps.
@@ -2769,7 +6885,45 @@ Parameters
- create + slot_id + +
+ integer +
+ + + + +
An integer between 1 and 20 (physical slot number)
+ + + + + + + + +
+ threshold + +
+ integer +
+ + + + +
Threshold level for this slot
+ + + + + + + + +
+ police
boolean @@ -2782,17 +6936,16 @@ Parameters -
Enable SNMP Ethernet EVC create traps
+
Enable Policing Trap
+ - - - +
- delete + pw_vc
boolean @@ -2805,17 +6958,36 @@ Parameters -
Enable SNMP Ethernet EVC delete traps
+
Enable SNMP pw vc traps
+ +
+ rep + +
+ boolean +
+ + +
    Choices: +
  • no
  • +
  • yes
  • +
+ + +
Enable SNMP Resilient Ethernet Protocol Traps
+ + + - +
- status + rf
boolean @@ -2828,17 +7000,15 @@ Parameters -
Enable SNMP Ethernet EVC status traps
+
Enable all SNMP traps defined in CISCO-RF-MIB
- -
- event_manager + rsvp
boolean @@ -2851,7 +7021,7 @@ Parameters -
Enable SNMP event-manager traps
+
Enable SNMP RSVP traps
@@ -2859,7 +7029,7 @@ Parameters
- firewall + smart_license
dictionary @@ -2868,7 +7038,7 @@ Parameters -
Enable SNMP firewall traps
+
Allow smart license traps
@@ -2890,7 +7060,7 @@ Parameters -
Enable/disable firewall traps
+
Enable smart license traps
@@ -2899,7 +7069,7 @@ Parameters
- serverstatus + entitlement
boolean @@ -2912,16 +7082,16 @@ Parameters -
Enable firewall server status change trap
+
Enable Entitlement Notification trap
- - + +
- flowmon + global
boolean @@ -2934,15 +7104,16 @@ Parameters -
Enable SNMP flowmon traps
+
Enable Global Notification traps
+
- frame_relay + snmp
dictionary @@ -2951,7 +7122,7 @@ Parameters -
Allow frame-relay traps
+
Enable SNMP traps
@@ -2960,7 +7131,7 @@ Parameters
- enable + authentication
boolean @@ -2973,7 +7144,7 @@ Parameters -
Enable/disable frame-relay traps
+
Enable authentication trap
@@ -2982,45 +7153,29 @@ Parameters
- subif - -
- dictionary -
- - - - -
Enable SNMP frame-relay subinterface traps
- - - - - - - - -
- count + coldstart
- integer + boolean
+
    Choices: +
  • no
  • +
  • yes
  • +
-
Maximum number of traps sent per interval
+
Enable coldStart trap
- - +
- enable + linkdown
boolean @@ -3033,36 +7188,38 @@ Parameters -
Enable/disable subif traps
+
Enable linkDown trap
- - +
- interval + linkup
- integer + boolean
+
    Choices: +
  • no
  • +
  • yes
  • +
-
Interval duration in which to limit the number of traps sent
+
Enable linkUp trap
- - - + +
- fru_ctrl + warmstart
boolean @@ -3075,15 +7232,16 @@ Parameters -
Enable SNMP fru-ctrl traps
+
Enable warmStart trap
+
- hsrp + stackwise
boolean @@ -3096,7 +7254,7 @@ Parameters -
Enable SNMP hsrp traps
+
Enable SNMP stackwise traps
@@ -3104,7 +7262,7 @@ Parameters
- ike + stpx
dictionary @@ -3113,7 +7271,7 @@ Parameters -
Allow ike traps
+
Allow SNMP STPX MIB traps
@@ -3122,26 +7280,7 @@ Parameters
- policy - -
- dictionary -
- - - - -
Enable IKE Policy traps
- - - - - - - - -
- add + enable
boolean @@ -3154,17 +7293,16 @@ Parameters -
Enable IKE Policy add trap
+
Enable SNMP STPX MIB traps
- - +
- delete + inconsistency
boolean @@ -3177,36 +7315,16 @@ Parameters -
Enable IKE Policy delete trap
+
Enable SNMP STPX MIB InconsistencyUpdate traps
-
- tunnel - -
- dictionary -
- - - - -
Enable IKE Tunnel traps
- - - - - - - - -
- start + loop_inconsistency
boolean @@ -3219,17 +7337,16 @@ Parameters -
Enable IKE Tunnel start trap
+
Enable SNMP STPX MIB LoopInconsistencyUpdate traps
- - +
- stop + root_inconsistency
boolean @@ -3242,17 +7359,16 @@ Parameters -
Enable IKE Tunnel stop trap
+
Enable SNMP STPX MIB RootInconsistencyUpdate traps
-
- ipmulticast + syslog
boolean @@ -3265,7 +7381,7 @@ Parameters -
Enable SNMP ip multi cast traps
+
Enable SNMP syslog traps
@@ -3273,25 +7389,28 @@ Parameters
- ipsec + transceiver_all
- dictionary + boolean
+
    Choices: +
  • no
  • +
  • yes
  • +
-
Allow ike traps
+
Enable SNMP transceiver traps
- - + - +
- cryptomap + trustsec
dictionary @@ -3300,17 +7419,16 @@ Parameters -
Enable IPsec Cryptomap traps
+
Allow SNMP CISCO-TRUSTSEC-MIB traps
- - +
- add + authz_file_error
boolean @@ -3323,17 +7441,16 @@ Parameters -
Enable IPsec Cryptomap add trap
+
Enable ctsAuthzCacheFileErrNotif notifications
- - +
- attach + cache_file_error
boolean @@ -3346,17 +7463,16 @@ Parameters -
Enable IPsec Cryptomap Attach trap
+
Enable ctsCacheFileAccessErrNotif notifications
- - +
- delete + enable
boolean @@ -3369,17 +7485,16 @@ Parameters -
Enable IPsec Cryptomap delete trap
+
Enable SNMP CISCO-TRUSTSEC-MIB traps
- - +
- detach + keystore_file_error
boolean @@ -3392,17 +7507,16 @@ Parameters -
Enable IPsec Cryptomap Detach trap
+
Enable ctsSwKeystoreFileErrNotif notifications
-
- too_many_sas + keystore_sync_fail
boolean @@ -3415,7 +7529,7 @@ Parameters -
Enable IPsec Tunnel Start trap
+
Enable ctsSwKeystoreSyncFailNotif notifications
@@ -3424,26 +7538,7 @@ Parameters
- tunnel - -
- dictionary -
- - - - -
Enable IPsec Tunnel traps
- - - - - - - - -
- start + random_number_fail
boolean @@ -3456,17 +7551,16 @@ Parameters -
Enable IPsec Tunnel start trap
+
Enable ctsSapRandonNumberFailNotif notifications
- - +
- stop + src_entropy_fail
boolean @@ -3479,38 +7573,34 @@ Parameters -
Enable IPsec Tunnel stop trap
+
Enable ctsSrcEntropyFailNotif notifications
-
- ipsla + trustsec_interface
- boolean + dictionary
-
    Choices: -
  • no
  • -
  • yes
  • -
-
Enable SNMP ipsla traps
+
Allow SNMP CISCO-TRUSTSEC-INTERFACE-MIB traps
- + - + +
- isis + authc_fail
boolean @@ -3523,33 +7613,16 @@ Parameters -
Enable SNMP isis traps
+
Enable ctsiIfAuthenticationFailNotif trap
- -
- l2tun - -
- dictionary -
- - - - -
Allow SNMP l2tun traps
- - - - -
- pseudowire_status + authz_fail
boolean @@ -3562,7 +7635,7 @@ Parameters -
Enable BFD pseudo wire status traps
+
Enable ctsiAuthorizationFailNotif trap
@@ -3571,7 +7644,7 @@ Parameters
- session + enable
boolean @@ -3584,16 +7657,16 @@ Parameters -
Enable BFD session traps
+
Enable SNMP CISCO-TRUSTSEC-INTERFACE-MIB traps
- - + +
- mpls_vpn + sap_fail
boolean @@ -3606,15 +7679,16 @@ Parameters -
Enable SNMP mpls traps
+
Enable ctsiIfSapNegotiationFailNotif trap
- + +
- msdp + supplicant_fail
boolean @@ -3627,15 +7701,16 @@ Parameters -
Enable SNMP msdp traps
+
Enable ctsiIfAddSupplicantFailNotif trap
- + +
- mvpn + unauthorized
boolean @@ -3648,15 +7723,16 @@ Parameters -
Enable SNMP mvpn traps
+
Enable ctsiIfUnauthorizedNotifEnable trap
+
- ospf + trustsec_policy
dictionary @@ -3665,7 +7741,7 @@ Parameters -
Allow ospf related traps
+
Allow SNMP CISCO-TRUSTSEC-POLICY-MIB traps
@@ -3674,26 +7750,29 @@ Parameters
- cisco_specific + authz_sgacl_fail
- dictionary + boolean
+
    Choices: +
  • no
  • +
  • yes
  • +
-
Cisco specific traps
+
Enable ctspAuthorizationSgaclFailNotif notifications
- - + - +
- error + enable
boolean @@ -3706,17 +7785,16 @@ Parameters -
error traps
+
Enable SNMP CISCO-TRUSTSEC-POLICY-MIB traps
- - +
- lsa + peer_policy_updated
boolean @@ -3729,17 +7807,34 @@ Parameters -
Lsa related traps
+
Enable ctspPeerPolicyUpdatedNotif notifications
+ + +
+ trustsec_server + +
+ dictionary +
+ + + + +
Allow SNMP CISCO-TRUSTSEC-SERVER-MIB traps
+ + + + - +
- retransmit + enable
boolean @@ -3752,37 +7847,38 @@ Parameters -
Packet retransmit traps
+
Enable SNMP CISCO-TRUSTSEC-SERVER-MIB traps
- - +
- state_change + provision_secret
- dictionary + boolean
+
    Choices: +
  • no
  • +
  • yes
  • +
-
state change traps
+
Enable ctsvNoProvisionSecretNotif notification
- - - + - +
- nssa_trans_change + radius_server
boolean @@ -3795,18 +7891,16 @@ Parameters -
Nssa translator state changes
+
Enable ctsvNoRadiusServerNotif notification
+ - - - - +
- shamlink + trustsec_sxp
dictionary @@ -3815,19 +7909,16 @@ Parameters -
Config mismatch errors on virtual interfaces
+
Allow SNMP CISCO-TRUSTSEC-SXP-MIB traps
- - - - +
- interface + binding_conflict
boolean @@ -3840,19 +7931,16 @@ Parameters -
Sham link interface state changes
+
Enable ctsxSxpBindingConflictNotif notifications
- - - - +
- neighbor + binding_err
boolean @@ -3865,19 +7953,16 @@ Parameters -
Sham link neighbor state changes
+
Enable ctsxSxpBindingErrNotif notifications
- - -
- error + binding_expn_fail
boolean @@ -3890,7 +7975,7 @@ Parameters -
Enable error traps
+
Enable ctsxSxpBindingExpnFailNotif notifications
@@ -3899,7 +7984,7 @@ Parameters
- lsa + conn_config_err
boolean @@ -3912,7 +7997,7 @@ Parameters -
Enable/disable ospf lsa traps
+
Enable ctsxSxpConnConfigErrNotif notifications
@@ -3921,7 +8006,7 @@ Parameters
- retransmit + conn_down
boolean @@ -3934,7 +8019,7 @@ Parameters -
Enable/disable ospf retransmit traps
+
Enable ctsxSxpConnDownNotif notifications
@@ -3943,7 +8028,7 @@ Parameters
- state_change + conn_srcaddr_err
boolean @@ -3956,28 +8041,32 @@ Parameters -
Enable/disable state change traps
+
Enable ctsxSxpConnSourceAddrErrNotif notifications
- - + +
- pim + conn_up
- dictionary + boolean
+
    Choices: +
  • no
  • +
  • yes
  • +
-
Allow PIM traps
+
Enable ctsxSxpConnUpNotif notifications
- + @@ -3996,7 +8085,7 @@ Parameters -
Enable/disable PIM traps
+
Enable SNMP CISCO-TRUSTSEC-SXP-MIB traps
@@ -4005,7 +8094,7 @@ Parameters
- invalid_pim_message + msg_parse_err
boolean @@ -4018,7 +8107,7 @@ Parameters -
Enable invalid pim message trap
+
Enable ctsxSxpMsgParseErrNotif notifications
@@ -4027,7 +8116,7 @@ Parameters
- neighbor_change + oper_nodeid_change
boolean @@ -4040,16 +8129,16 @@ Parameters -
Enable neighbor change trap
+
Enable ctsxSxpOperNodeIdChangeNotif notifications
+ - - +
- rp_mapping_change + tty
boolean @@ -4062,37 +8151,33 @@ Parameters -
Enable rp mapping change trap
+
Enable SNMP tty TCP connection traps
-
- pki + udld
- boolean + dictionary
-
    Choices: -
  • no
  • -
  • yes
  • -
-
Enable SNMP pki traps
+
Allow SNMP CISCO-UDLDP-MIB traps
- + - + +
- pw_vc + enable
boolean @@ -4105,15 +8190,16 @@ Parameters -
Enable SNMP pw vc traps
+
Enable SNMP CISCO-UDLDP-MIB traps
- + +
- rsvp + link_fail_rpt
boolean @@ -4126,33 +8212,38 @@ Parameters -
Enable SNMP RSVP traps
+
Enable SNMP cudldpFastHelloLinkFailRptNotification traps
- + +
- snmp + status_change
- dictionary + boolean
+
    Choices: +
  • no
  • +
  • yes
  • +
-
Enable SNMP traps
+
Enable SNMP cudldpFastHelloStatusChangeNotification traps
- - + + - +
- authentication + vlan_membership
boolean @@ -4165,16 +8256,15 @@ Parameters -
Enable authentication trap
+
Enable SNMP VLAN membership traps
- - +
- coldstart + vlancreate
boolean @@ -4187,16 +8277,15 @@ Parameters -
Enable coldStart trap
+
Enable SNMP VLAN created traps
- - +
- linkdown + vlandelete
boolean @@ -4209,38 +8298,33 @@ Parameters -
Enable linkDown trap
+
Enable SNMP VLAN deleted traps
- - +
- linkup + vrfmib
- boolean + dictionary
-
    Choices: -
  • no
  • -
  • yes
  • -
-
Enable linkUp trap
+
Allow vrfmib traps
- +
- warmstart + vnet_trunk_down
boolean @@ -4253,16 +8337,16 @@ Parameters -
Enable warmStart trap
+
Enable vnet-trunk-down traps
- - + +
- syslog + vnet_trunk_up
boolean @@ -4275,15 +8359,16 @@ Parameters -
Enable SNMP syslog traps
+
Enable vnet-trunk-up trap
- + +
- transceiver_all + vrf_down
boolean @@ -4296,15 +8381,16 @@ Parameters -
Enable SNMP transceiver traps
+
Enable vrf-down trap
- + +
- tty + vrf_up
boolean @@ -4317,55 +8403,55 @@ Parameters -
Enable SNMP tty TCP connection traps
+
Enable vrf-up trap
+
- vrfmib + vrrp
- dictionary + boolean
+
    Choices: +
  • no
  • +
  • yes
  • +
-
Allow vrfmib traps
+
Enable SNMP vrrp traps
- - + - +
- vnet_trunk_down + vswitch
- boolean + dictionary
-
    Choices: -
  • no
  • -
  • yes
  • -
-
Enable vnet-trunk-down traps
+
Allow SNMP Virtual Switch notifications
- +
- vnet_trunk_up + dual_active
boolean @@ -4378,7 +8464,7 @@ Parameters -
Enable vnet-trunk-up trap
+
Enable SNMP Virtual Switch (Dual Active) notification
@@ -4387,7 +8473,7 @@ Parameters
- vrf_down + enable
boolean @@ -4400,7 +8486,7 @@ Parameters -
Enable vrf-down trap
+
Enable SNMP Virtual Switch notifications
@@ -4409,7 +8495,7 @@ Parameters
- vrf_up + vsl
boolean @@ -4422,7 +8508,7 @@ Parameters -
Enable vrf-up trap
+
Enable SNMP Virtual Switch Link (VSL) notification
@@ -4431,7 +8517,7 @@ Parameters
- vrrp + vtp
boolean @@ -4444,7 +8530,7 @@ Parameters -
Enable SNMP vrrp traps
+
Enable SNMP VTP traps
diff --git a/plugins/module_utils/network/ios/argspec/snmp_server/snmp_server.py b/plugins/module_utils/network/ios/argspec/snmp_server/snmp_server.py index d0473cc97..446a8225b 100644 --- a/plugins/module_utils/network/ios/argspec/snmp_server/snmp_server.py +++ b/plugins/module_utils/network/ios/argspec/snmp_server/snmp_server.py @@ -13,15 +13,16 @@ ############################################# # # This file is auto generated by the -# cli_rm_builder. +# ansible.content_builder. # # Manually editing this file is not advised. # # To update the argspec make the desired changes -# in the module docstring and re-run -# cli_rm_builder. +# in the documentation in the module file and re-run +# ansible.content_builder commenting out +# the path to external 'docstring' in build.yaml. # -############################################# +############################################## """ The arg spec for the ios_snmp_server module @@ -34,7 +35,10 @@ class Snmp_serverArgs(object): # pylint: disable=R0903 argument_spec = { "config": { "options": { - "accounting": {"options": {"command": {"type": "str"}}, "type": "dict"}, + "accounting": { + "options": {"command": {"type": "str"}}, + "type": "dict", + }, "cache": {"type": "int"}, "chassis_id": {"type": "str"}, "communities": { @@ -52,7 +56,10 @@ class Snmp_serverArgs(object): # pylint: disable=R0903 "contact": {"type": "str"}, "context": {"elements": "str", "type": "list"}, "drop": { - "options": {"unknown_user": {"type": "bool"}, "vrf_traffic": {"type": "bool"}}, + "options": { + "unknown_user": {"type": "bool"}, + "vrf_traffic": {"type": "bool"}, + }, "type": "dict", }, "engine_id": { @@ -82,7 +89,11 @@ class Snmp_serverArgs(object): # pylint: disable=R0903 "elements": "dict", "options": { "context": {"type": "str"}, - "version_option": {"choices": ["auth", "noauth", "priv"], "type": "str"}, + "match": {"choices": ["exact", "prefix"], "type": "str"}, + "version_option": { + "choices": ["auth", "noauth", "priv"], + "type": "str", + }, "group": {"type": "str"}, "notify": {"type": "str"}, "read": {"type": "str"}, @@ -101,7 +112,10 @@ class Snmp_serverArgs(object): # pylint: disable=R0903 "community_string": {"type": "str"}, "traps": {"type": "list", "elements": "str"}, "version": {"choices": ["1", "2c", "3"], "type": "str"}, - "version_option": {"choices": ["auth", "noauth", "priv"], "type": "str"}, + "version_option": { + "choices": ["auth", "noauth", "priv"], + "type": "str", + }, "vrf": {"type": "str"}, }, "type": "list", @@ -116,7 +130,10 @@ class Snmp_serverArgs(object): # pylint: disable=R0903 "type": "dict", }, "ip": { - "options": {"dscp": {"type": "int"}, "precedence": {"type": "int"}}, + "options": { + "dscp": {"type": "int"}, + "precedence": {"type": "int"}, + }, "type": "dict", }, "location": {"type": "str"}, @@ -145,6 +162,7 @@ class Snmp_serverArgs(object): # pylint: disable=R0903 "trap_timeout": {"type": "int"}, "traps": { "options": { + "aaa_server": {"type": "bool"}, "auth_framework": { "options": { "sec_violation": {"type": "bool"}, @@ -188,6 +206,22 @@ class Snmp_serverArgs(object): # pylint: disable=R0903 }, "type": "dict", }, + "bulkstat": { + "options": { + "enable": {"type": "bool"}, + "collection": {"type": "bool"}, + "transfer": {"type": "bool"}, + }, + "type": "dict", + }, + "call_home": { + "options": { + "enable": {"type": "bool"}, + "message_send_fail": {"type": "bool"}, + "server_fail": {"type": "bool"}, + }, + "type": "dict", + }, "casa": {"type": "bool"}, "cef": { "options": { @@ -204,7 +238,10 @@ class Snmp_serverArgs(object): # pylint: disable=R0903 "config_copy": {"type": "bool"}, "config_ctid": {"type": "bool"}, "cpu": { - "options": {"enable": {"type": "bool"}, "threshold": {"type": "bool"}}, + "options": { + "enable": {"type": "bool"}, + "threshold": {"type": "bool"}, + }, "type": "dict", }, "dhcp": {"type": "bool"}, @@ -218,19 +255,39 @@ class Snmp_serverArgs(object): # pylint: disable=R0903 }, "eigrp": {"type": "bool"}, "entity": {"type": "bool"}, + "entity_diag": { + "options": { + "boot_up_fail": {"type": "bool"}, + "enable": {"type": "bool"}, + "hm_test_recover": {"type": "bool"}, + "hm_thresh_reached": {"type": "bool"}, + "scheduled_test_fail": {"type": "bool"}, + }, + "type": "dict", + }, + "entity_perf": { + "options": { + "enable": {"type": "bool"}, + "throughput_notif": {"type": "bool"}, + }, + "type": "dict", + }, + "entity_state": {"type": "bool"}, "energywise": {"type": "bool"}, "envmon": { "options": { + "enable": {"type": "bool"}, "fan": { "options": { - "shutdown": {"type": "bool"}, "enable": {"type": "bool"}, + "shutdown": {"type": "bool"}, "status": {"type": "bool"}, "supply": {"type": "bool"}, "temperature": {"type": "bool"}, }, "type": "dict", }, + "fan_enable": {"type": "bool"}, "shutdown": {"type": "bool"}, "status": {"type": "bool"}, "supply": {"type": "bool"}, @@ -238,6 +295,7 @@ class Snmp_serverArgs(object): # pylint: disable=R0903 }, "type": "dict", }, + "errdisable": {"type": "bool"}, "ethernet": { "options": { "cfm": { @@ -275,8 +333,24 @@ class Snmp_serverArgs(object): # pylint: disable=R0903 }, "type": "dict", }, + "ether_oam": {"type": "bool"}, "event_manager": {"type": "bool"}, - "flowmon": {"type": "bool"}, + "flash": { + "options": { + "enable": {"type": "bool"}, + "insertion": {"type": "bool"}, + "lowspace": {"type": "bool"}, + "removal": {"type": "bool"}, + }, + "type": "dict", + }, + "flex_links": { + "options": { + "enable": {"type": "bool"}, + "status": {"type": "bool"}, + }, + "type": "dict", + }, "firewall": { "options": { "enable": {"type": "bool"}, @@ -284,6 +358,7 @@ class Snmp_serverArgs(object): # pylint: disable=R0903 }, "type": "dict", }, + "flowmon": {"type": "bool"}, "frame_relay": { "options": { "enable": {"type": "bool"}, @@ -343,6 +418,15 @@ class Snmp_serverArgs(object): # pylint: disable=R0903 "type": "dict", }, "ipsla": {"type": "bool"}, + "isis": {"type": "bool"}, + "l2tc": { + "options": { + "enable": {"type": "bool"}, + "sys_threshold": {"type": "bool"}, + "threshold": {"type": "bool"}, + }, + "type": "dict", + }, "l2tun": { "options": { "pseudowire_status": {"type": "bool"}, @@ -350,9 +434,141 @@ class Snmp_serverArgs(object): # pylint: disable=R0903 }, "type": "dict", }, + "license": {"type": "bool"}, + "lisp": {"type": "bool"}, + "local_auth": {"type": "bool"}, + "mac_notification": { + "options": { + "enable": {"type": "bool"}, + "change": {"type": "bool"}, + "move": {"type": "bool"}, + "threshold": {"type": "bool"}, + }, + "type": "dict", + }, + "memory": { + "options": { + "enable": {"type": "bool"}, + "bufferpeak": {"type": "bool"}, + }, + "type": "dict", + }, + "mpls": { + "options": { + "fast_reroute": { + "options": { + "enable": {"type": "bool"}, + "protected": {"type": "bool"}, + }, + "type": "dict", + }, + "ldp": { + "options": { + "enable": {"type": "bool"}, + "pv_limit": {"type": "bool"}, + "session_down": {"type": "bool"}, + "session_up": {"type": "bool"}, + "threshold": {"type": "bool"}, + }, + "type": "dict", + }, + "rfc": { + "options": { + "ldp": { + "options": { + "enable": {"type": "bool"}, + "pv_limit": {"type": "bool"}, + "session_down": {"type": "bool"}, + "session_up": {"type": "bool"}, + "threshold": {"type": "bool"}, + }, + "type": "dict", + }, + "traffic_eng": { + "options": { + "enable": {"type": "bool"}, + "down": {"type": "bool"}, + "reoptimized": {"type": "bool"}, + "reroute": {"type": "bool"}, + "up": {"type": "bool"}, + }, + "type": "dict", + }, + "vpn": { + "options": { + "enable": {"type": "bool"}, + "illegal_label": {"type": "bool"}, + "max_thresh_cleared": { + "type": "bool", + }, + "max_threshold": {"type": "bool"}, + "mid_threshold": {"type": "bool"}, + "vrf_down": {"type": "bool"}, + "vrf_up": {"type": "bool"}, + }, + "type": "dict", + }, + }, + "type": "dict", + }, + "traffic_eng": { + "options": { + "enable": {"type": "bool"}, + "down": {"type": "bool"}, + "reroute": {"type": "bool"}, + "up": {"type": "bool"}, + }, + "type": "dict", + }, + "vpn": { + "options": { + "enable": {"type": "bool"}, + "illegal_label": {"type": "bool"}, + "max_thresh_cleared": {"type": "bool"}, + "max_threshold": {"type": "bool"}, + "mid_threshold": {"type": "bool"}, + "vrf_down": {"type": "bool"}, + "vrf_up": {"type": "bool"}, + }, + "type": "dict", + }, + }, + "type": "dict", + }, + "mpls_vpn": {"type": "bool"}, "msdp": {"type": "bool"}, "mvpn": {"type": "bool"}, - "mpls_vpn": {"type": "bool"}, + "nhrp": { + "options": { + "enable": {"type": "bool"}, + "nhc": { + "options": { + "enable": {"type": "bool"}, + "down": {"type": "bool"}, + "up": {"type": "bool"}, + }, + "type": "dict", + }, + "nhp": { + "options": { + "enable": {"type": "bool"}, + "down": {"type": "bool"}, + "up": {"type": "bool"}, + }, + "type": "dict", + }, + "nhs": { + "options": { + "enable": {"type": "bool"}, + "down": {"type": "bool"}, + "up": {"type": "bool"}, + }, + "type": "dict", + }, + "quota_exceeded": {"type": "bool"}, + }, + "type": "dict", + }, "ospf": { "options": { "cisco_specific": { @@ -362,11 +578,17 @@ class Snmp_serverArgs(object): # pylint: disable=R0903 "retransmit": {"type": "bool"}, "state_change": { "options": { - "nssa_trans_change": {"type": "bool"}, + "nssa_trans_change": { + "type": "bool", + }, "shamlink": { "options": { - "interface": {"type": "bool"}, - "neighbor": {"type": "bool"}, + "interface": { + "type": "bool", + }, + "neighbor": { + "type": "bool", + }, }, "type": "dict", }, @@ -383,6 +605,42 @@ class Snmp_serverArgs(object): # pylint: disable=R0903 }, "type": "dict", }, + "ospfv3": { + "options": { + "errors": { + "options": { + "enable": {"type": "bool"}, + "bad_packet": {"type": "bool"}, + "config_error": {"type": "bool"}, + "virt_bad_packet": {"type": "bool"}, + "virt_config_error": {"type": "bool"}, + }, + "type": "dict", + }, + "rate_limit": {"type": "int"}, + "state_change": { + "options": { + "enable": {"type": "bool"}, + "if_state_change": {"type": "bool"}, + "neighbor_restart_helper_status_change": { + "type": "bool", + }, + "neighbor_state_change": {"type": "bool"}, + "nssa_translator_status_change": { + "type": "bool", + }, + "restart_status_change": {"type": "bool"}, + "virtif_state_change": {"type": "bool"}, + "vn_restart_helper_status_change": { + "type": "bool", + }, + "vn_state_change": {"type": "bool"}, + }, + "type": "dict", + }, + }, + "type": "dict", + }, "pim": { "options": { "invalid_pim_message": {"type": "bool"}, @@ -392,19 +650,35 @@ class Snmp_serverArgs(object): # pylint: disable=R0903 }, "type": "dict", }, - "vrfmib": { + "pki": {"type": "bool"}, + "port_security": {"type": "bool"}, + "power_ethernet": { "options": { - "vrf_up": {"type": "bool"}, - "vrf_down": {"type": "bool"}, - "vnet_trunk_up": {"type": "bool"}, - "vnet_trunk_down": {"type": "bool"}, + "enable": {"type": "bool"}, + "group": { + "options": { + "slot_id": {"type": "int"}, + "threshold": {"type": "int"}, + }, + "elements": "dict", + "type": "list", + }, + "police": {"type": "bool"}, }, "type": "dict", }, - "pki": {"type": "bool"}, - "rsvp": {"type": "bool"}, - "isis": {"type": "bool"}, "pw_vc": {"type": "bool"}, + "rep": {"type": "bool"}, + "rsvp": {"type": "bool"}, + "rf": {"type": "bool"}, + "smart_license": { + "options": { + "enable": {"type": "bool"}, + "entitlement": {"type": "bool"}, + "global": {"type": "bool"}, + }, + "type": "dict", + }, "snmp": { "options": { "authentication": {"type": "bool"}, @@ -415,10 +689,103 @@ class Snmp_serverArgs(object): # pylint: disable=R0903 }, "type": "dict", }, + "stackwise": {"type": "bool"}, + "stpx": { + "options": { + "enable": {"type": "bool"}, + "inconsistency": {"type": "bool"}, + "loop_inconsistency": {"type": "bool"}, + "root_inconsistency": {"type": "bool"}, + }, + "type": "dict", + }, "syslog": {"type": "bool"}, "transceiver_all": {"type": "bool"}, + "trustsec": { + "options": { + "authz_file_error": {"type": "bool"}, + "cache_file_error": {"type": "bool"}, + "enable": {"type": "bool"}, + "keystore_file_error": {"type": "bool"}, + "keystore_sync_fail": {"type": "bool"}, + "random_number_fail": {"type": "bool"}, + "src_entropy_fail": {"type": "bool"}, + }, + "type": "dict", + }, + "trustsec_interface": { + "options": { + "enable": {"type": "bool"}, + "authc_fail": {"type": "bool"}, + "authz_fail": {"type": "bool"}, + "sap_fail": {"type": "bool"}, + "supplicant_fail": {"type": "bool"}, + "unauthorized": {"type": "bool"}, + }, + "type": "dict", + }, + "trustsec_policy": { + "options": { + "enable": {"type": "bool"}, + "authz_sgacl_fail": {"type": "bool"}, + "peer_policy_updated": {"type": "bool"}, + }, + "type": "dict", + }, + "trustsec_server": { + "options": { + "enable": {"type": "bool"}, + "provision_secret": {"type": "bool"}, + "radius_server": {"type": "bool"}, + }, + "type": "dict", + }, + "trustsec_sxp": { + "options": { + "enable": {"type": "bool"}, + "binding_conflict": {"type": "bool"}, + "binding_err": {"type": "bool"}, + "binding_expn_fail": {"type": "bool"}, + "conn_config_err": {"type": "bool"}, + "conn_down": {"type": "bool"}, + "conn_srcaddr_err": {"type": "bool"}, + "conn_up": {"type": "bool"}, + "msg_parse_err": {"type": "bool"}, + "oper_nodeid_change": {"type": "bool"}, + }, + "type": "dict", + }, "tty": {"type": "bool"}, + "udld": { + "options": { + "enable": {"type": "bool"}, + "link_fail_rpt": {"type": "bool"}, + "status_change": {"type": "bool"}, + }, + "type": "dict", + }, + "vlan_membership": {"type": "bool"}, + "vlancreate": {"type": "bool"}, + "vlandelete": {"type": "bool"}, + "vrfmib": { + "options": { + "vrf_up": {"type": "bool"}, + "vrf_down": {"type": "bool"}, + "vnet_trunk_up": {"type": "bool"}, + "vnet_trunk_down": {"type": "bool"}, + }, + "type": "dict", + }, "vrrp": {"type": "bool"}, + "vswitch": { + "options": { + "dual_active": {"type": "bool"}, + "enable": {"type": "bool"}, + "vsl": {"type": "bool"}, + }, + "type": "dict", + }, + "vtp": {"type": "bool"}, }, "type": "dict", }, @@ -431,17 +798,29 @@ class Snmp_serverArgs(object): # pylint: disable=R0903 "no_log": False, "type": "dict", "options": { - "algorithm": {"type": "str", "choices": ["md5", "sha"]}, - "password": {"type": "str", "no_log": True}, + "algorithm": { + "type": "str", + "choices": ["md5", "sha"], + }, + "password": { + "type": "str", + "no_log": True, + }, }, }, "encryption": { "no_log": False, "type": "dict", "options": { - "priv": {"type": "str", "choices": ["3des", "aes", "des"]}, + "priv": { + "type": "str", + "choices": ["3des", "aes", "des"], + }, "priv_option": {"type": "str"}, - "password": {"type": "str", "no_log": True}, + "password": { + "type": "str", + "no_log": True, + }, }, }, "group": {"type": "str"}, @@ -449,7 +828,10 @@ class Snmp_serverArgs(object): # pylint: disable=R0903 "udp_port": {"type": "int"}, "username": {"type": "str"}, "version": {"choices": ["v1", "v2c", "v3"], "type": "str"}, - "version_option": {"choices": ["encrypted"], "type": "str"}, + "version_option": { + "choices": ["encrypted"], + "type": "str", + }, "vrf": {"type": "str"}, }, "type": "list", diff --git a/plugins/module_utils/network/ios/config/snmp_server/snmp_server.py b/plugins/module_utils/network/ios/config/snmp_server/snmp_server.py index 7440875f9..187d0779d 100644 --- a/plugins/module_utils/network/ios/config/snmp_server/snmp_server.py +++ b/plugins/module_utils/network/ios/config/snmp_server/snmp_server.py @@ -77,72 +77,121 @@ def __init__(self, module): "views", ] self.complex_parsers = [ + "traps.aaa_server", "traps.auth_framework", "traps.bfd", "traps.bgp", + "traps.bgp.cbgp2", "traps.bridge", + "traps.bulkstat", + "traps.call_home", "traps.casa", + "traps.cef", "traps.cnpd", "traps.config", "traps.config_copy", "traps.config_ctid", + "traps.cpu", "traps.dhcp", + "traps.dlsw", "traps.eigrp", - "traps.entity", "traps.energywise", + "traps.entity", + "traps.entity_diag", + "traps.entity_perf", + "traps.entity_state", + "traps.envmon", + "traps.errdisable", + "traps.ether_oam", + "traps.ethernet.cfm.alarm", + "traps.ethernet.cfm.cc", + "traps.ethernet.cfm.crosscheck", + "traps.ethernet.evc", "traps.event_manager", + "traps.flash", + "traps.flex_links", + "traps.firewall", "traps.flowmon", + "traps.frame_relay", + "traps.frame_relay.subif", "traps.fru_ctrl", "traps.hsrp", - "traps.ipsla", - "traps.isis", - "traps.msdp", - "traps.mvpn", - "traps.mpls_vpn", - "traps.pki", - "traps.pw_vc", - "traps.rsvp", - "traps.syslog", - "traps.transceiver_all", - "traps.tty", - "traps.vrrp", - "traps.vrfmib", - "traps.ipmulticast", "traps.ike.policy.add", "traps.ike.policy.delete", "traps.ike.tunnel.start", "traps.ike.tunnel.stop", + "traps.ipmulticast", "traps.ipsec.cryptomap.add", - "traps.ipsec.cryptomap.delete", "traps.ipsec.cryptomap.attach", + "traps.ipsec.cryptomap.delete", "traps.ipsec.cryptomap.detach", + "traps.ipsec.too_many_sas", "traps.ipsec.tunnel.start", "traps.ipsec.tunnel.stop", - "traps.ipsec.too_many_sas", + "traps.ipsla", + "traps.isis", + "traps.l2tc", + "traps.l2tun.pseudowire_status", + "traps.l2tun.session", + "traps.lisp", + "traps.license", + "traps.local_auth", + "traps.mac_notification", + "traps.memory", + "traps.mpls.fast_reroute", + "traps.mpls.ldp", + "traps.mpls.rfc.ldp", + "traps.mpls.rfc.traffic_eng", + "traps.mpls.rfc.vpn", + "traps.mpls.traffic_eng", + "traps.mpls.vpn", + "traps.msdp", + "traps.mvpn", + "traps.nhrp.nhc", + "traps.nhrp.nhp", + "traps.nhrp.nhs", + "traps.nhrp.quota_exceeded", "traps.ospf.cisco_specific.error", - "traps.ospf.cisco_specific.retransmit", "traps.ospf.cisco_specific.lsa", + "traps.ospf.cisco_specific.retransmit", "traps.ospf.cisco_specific.state_change.nssa_trans_change", "traps.ospf.cisco_specific.state_change.shamlink.interface", "traps.ospf.cisco_specific.state_change.shamlink.neighbor", "traps.ospf.error", - "traps.ospf.retransmit", "traps.ospf.lsa", + "traps.ospf.retransmit", "traps.ospf.state_change", - "traps.l2tun.pseudowire_status", - "traps.l2tun.session", - "traps.cpu", - "traps.firewall", + "traps.ospfv3.errors", + "traps.ospfv3.rate_limit", + "traps.ospfv3.state_change", "traps.pim", + "traps.pki", + "traps.port_security", + "traps.power_ethernet", + "traps.pw_vc", + "traps.rep", + "traps.rsvp", + "traps.rf", + "traps.smart_license", "traps.snmp", - "traps.frame_relay", - "traps.frame_relay.subif", - "traps.cef", - "traps.dlsw", - "traps.ethernet.evc", - "traps.ethernet.cfm.alarm", - "traps.ethernet.cfm.cc", - "traps.ethernet.cfm.crosscheck", + "traps.stackwise", + "traps.stpx", + "traps.syslog", + "traps.transceiver_all", + "traps.trustsec", + "traps.trustsec_interface", + "traps.trustsec_policy", + "traps.trustsec_server", + "traps.trustsec_sxp", + "traps.tty", + "traps.udld", + "traps.vlan_membership", + "traps.vlancreate", + "traps.vlandelete", + "traps.vrfmib", + "traps.vrrp", + "traps.vswitch", + "traps.vtp", ] def execute_module(self): @@ -163,6 +212,8 @@ def generate_commands(self): wantd = self._snmp_list_to_dict(self.want) haved = self._snmp_list_to_dict(self.have) + wantd = self._handle_deprecates(want=wantd) + # if state is merged, merge want onto have and then compare if self.state == "merged": wantd = dict_merge(haved, wantd) @@ -265,7 +316,8 @@ def _snmp_list_to_dict(self, data): tmp_data[k]["protocol"] = tmp elif k == "groups": tmp_data[k] = { - str(i[p_key.get(k)] + i.get("version_option", "")): i for i in tmp_data[k] + str(i[p_key.get(k)] + i.get("version_option", "") + i.get("context", "")): i + for i in tmp_data[k] } elif k == "views": tmp_data[k] = { @@ -274,3 +326,23 @@ def _snmp_list_to_dict(self, data): else: tmp_data[k] = {str(i[p_key.get(k)]): i for i in tmp_data[k]} return tmp_data + + def _handle_deprecates(self, want): + """Remove deprecated attributes and set the replacment""" + + # Take in count the traps config mpls_vpn which is DEPRECATED and replaced by mpls.vpn + if "traps" in want: + if "mpls_vpn" in want["traps"]: + want["traps"] = dict_merge( + want["traps"], + {"mpls": {"vpn": {"enable": want["traps"]["mpls_vpn"]}}}, + ) + want["traps"].pop("mpls_vpn") + if "envmon" in want["traps"] and "fan" in want["traps"]["envmon"]: + want["traps"]["envmon"]["fan_enable"] = want["traps"]["envmon"]["fan"].get( + "enable", + False, + ) + want["traps"]["envmon"].pop("fan") + + return want diff --git a/plugins/module_utils/network/ios/facts/snmp_server/snmp_server.py b/plugins/module_utils/network/ios/facts/snmp_server/snmp_server.py index b419fddd5..a153ac0a8 100644 --- a/plugins/module_utils/network/ios/facts/snmp_server/snmp_server.py +++ b/plugins/module_utils/network/ios/facts/snmp_server/snmp_server.py @@ -35,7 +35,7 @@ def __init__(self, module, subspec="config", options="options"): self.argument_spec = Snmp_serverArgs.argument_spec def get_snmp_data(self, connection): - _get_snmp_data = connection.get("show running-config | section ^snmp-server") + _get_snmp_data = connection.get("show running-config | section ^snmp") return _get_snmp_data def get_snmpv3_user_data(self, connection): diff --git a/plugins/module_utils/network/ios/rm_templates/snmp_server.py b/plugins/module_utils/network/ios/rm_templates/snmp_server.py index 2e21ee6f7..5107612eb 100644 --- a/plugins/module_utils/network/ios/rm_templates/snmp_server.py +++ b/plugins/module_utils/network/ios/rm_templates/snmp_server.py @@ -85,8 +85,6 @@ def cmd_option_trap_bgp(config_data): if conf: if conf.get("enable"): cmd += "snmp-server enable traps bgp" - if conf.get("cbgp2"): - cmd += " cbgp2" if conf.get("state_changes"): if conf.get("state_changes").get("enable"): cmd += " state-changes" @@ -281,6 +279,7 @@ def __init__(self, lines=None, module=None): (\s(?Pv1|v3|v2c))? (\s(?Pauth|noauth|priv))? (\scontext\s(?P\S+))? + (\smatch\s(?P\S+))? (\sread\s(?P\S+))? (\swrite\s(?P\S+))? (\snotify\s(?P\S+))? @@ -293,6 +292,7 @@ def __init__(self, lines=None, module=None): "{{ (' ' + version) if version is defined else '' }}" "{{ (' ' + version_option) if version_option is defined else '' }}" "{{ (' context ' + context) if context is defined else '' }}" + "{{ (' match ' + match) if match is defined else '' }}" "{{ (' read ' + read) if read is defined else '' }}" "{{ (' write ' + write) if write is defined else '' }}" "{{ (' notify ' + notify) if notify is defined else '' }}" @@ -305,6 +305,7 @@ def __init__(self, lines=None, module=None): "version": "{{ version }}", "version_option": "{{ version_option }}", "context": "{{ context }}", + "match": "{{ match }}", "notify": "{{ notify }}", "read": "{{ read }}", "write": "{{ write }}", @@ -468,7 +469,7 @@ def __init__(self, lines=None, module=None): "name": "if_index", "getval": re.compile( r""" - ^snmp-server\sifindex + ^snmp(-server|\sifmib)\sifindex (\s(?Ppersist))? """, re.VERBOSE, ), @@ -505,7 +506,7 @@ def __init__(self, lines=None, module=None): r""" ^snmp-server\sip\sdscp (\s(?P\d+))? - (\sprecedence(?P\d+))? + (\sprecedence\s(?P\d+))? """, re.VERBOSE, ), "setval": "snmp-server ip dscp " @@ -609,8 +610,22 @@ def __init__(self, lines=None, module=None): "trap_source": "{{ interface }}", }, }, - - { # only traps + # only traps + { + "name": "traps.aaa_server", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\saaa_server + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps aaa_server", + "result": { + "traps": { + "aaa_server": True, + }, + }, + }, + { "name": "traps.auth_framework", "getval": re.compile( r""" @@ -618,14 +633,13 @@ def __init__(self, lines=None, module=None): (\s(?Psec-violation))? """, re.VERBOSE, ), - "setval": "snmp-server enable traps" - "{{ (' auth-framework') if traps.auth_framework.enable is defined else '' }}" - "{{ (' sec-violation') if traps.auth_framework.sec_violation is defined else '' }}", + "setval": "snmp-server enable traps auth-framework" + "{{ (' sec-violation') if traps.auth_framework.sec_violation|d(False) is defined else '' }}", "result": { "traps": { "auth_framework": { "enable": True, - "sec_violation": "{{ not not excluded }}", + "sec_violation": "{{ not not sec_violation }}", }, }, }, @@ -657,12 +671,11 @@ def __init__(self, lines=None, module=None): "getval": re.compile( r""" ^snmp-server\senable\straps\sbgp - (\s(?Pcbgp2))? (\s(?Pstate-changes))? (\s(?Pall))? (\s(?Pbackward-trans))? (\s(?Plimited))? - (\sthreshold(?Pprefix))? + (\sthreshold(?Pprefix))?\s*$ """, re.VERBOSE, ), "setval": cmd_option_trap_bgp, @@ -670,7 +683,6 @@ def __init__(self, lines=None, module=None): "result": { "traps": { "bgp": { - "cbgp2": "{{ not not cbgp2 }}", "enable": True, "state_changes": { "enable": "{{ not not state_changes }}", @@ -685,6 +697,22 @@ def __init__(self, lines=None, module=None): }, }, }, + { + "name": "traps.bgp.cbgp2", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\sbgp\scbgp2 + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps bgp cbgp2", + "result": { + "traps": { + "bgp": { + "cbgp2": True, + }, + }, + }, + }, { "name": "traps.bridge", "getval": re.compile( @@ -707,6 +735,50 @@ def __init__(self, lines=None, module=None): }, }, }, + { + "name": "traps.bulkstat", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\sbulkstat + (\s(?Pcollection))? + (\s(?Ptransfer))? + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps bulkstat" + "{{ ' collection' if traps.bulkstat.collection|d(False) else '' }}" + "{{ ' transfer' if traps.bulkstat.transfer|d(False) else '' }}", + "result": { + "traps": { + "bulkstat": { + "enable": True, + "collection": "{{ not not collection }}", + "transfer": "{{ not not transfer }}", + }, + }, + }, + }, + { + "name": "traps.call_home", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\scall-home + (\s(?Pmessage-send-fail))? + (\s(?Pserver-fail))? + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps call-home" + "{{ ' message-send-fail' if traps.call_home.message_send_fail|d(False) else '' }}" + "{{ ' server-fail' if traps.call_home.server_fail|d(False) else '' }}", + "result": { + "traps": { + "call_home": { + "enable": True, + "message_send_fail": "{{ not not message_send_fail }}", + "server_fail": "{{ not not server_fail }}", + }, + }, + }, + }, { "name": "traps.casa", "getval": re.compile( @@ -722,44 +794,58 @@ def __init__(self, lines=None, module=None): }, }, { - "name": "traps.cnpd", + "name": "traps.cef", "getval": re.compile( r""" - ^snmp-server\senable\straps\scnpd + ^snmp-server\senable\straps\scef + (\s(?Presource-failure))? + (\s(?Ppeer-state-change))? + (\s(?Ppeer-fib-state-change))? + (\s(?Pinconsistency))? """, re.VERBOSE, ), - "setval": "snmp-server enable traps cnpd", + "setval": "snmp-server enable traps cef" + "{{ ' resource-failure' if traps.cef.resource_failure|d(False) else '' }}" + "{{ ' peer-state-change' if traps.cef.peer_state_change|d(False) else '' }}" + "{{ ' peer-fib-state-change' if traps.cef.peer_fib_state_change|d(False) else '' }}" + "{{ ' inconsistency' if traps.cef.inconsistency|d(False) else '' }}", "result": { "traps": { - "cnpd": True, + "cef": { + "enable": True, + "inconsistency": "{{ not not inconsistency }}", + "peer_fib_state_change": "{{ not not peer_fib_state_change }}", + "peer_state_change": "{{ not not peer_state_change }}", + "resource_failure": "{{ not not resource_failure }}", + }, }, }, }, { - "name": "traps.config", + "name": "traps.cnpd", "getval": re.compile( r""" - ^snmp-server\senable\straps\sconfig + ^snmp-server\senable\straps\scnpd """, re.VERBOSE, ), - "setval": "snmp-server enable traps config", + "setval": "snmp-server enable traps cnpd", "result": { "traps": { - "config": True, + "cnpd": True, }, }, }, { - "name": "traps.isis", + "name": "traps.config", "getval": re.compile( r""" - ^snmp-server\senable\straps\sisis$ + ^snmp-server\senable\straps\sconfig\s*$ """, re.VERBOSE, ), - "setval": "snmp-server enable traps isis", + "setval": "snmp-server enable traps config", "result": { "traps": { - "isis": True, + "config": True, }, }, }, @@ -767,7 +853,7 @@ def __init__(self, lines=None, module=None): "name": "traps.config_copy", "getval": re.compile( r""" - ^snmp-server\senable\straps\sconfig-copy + ^snmp-server\senable\straps\s(config-copy|copy-config) """, re.VERBOSE, ), "setval": "snmp-server enable traps config-copy", @@ -791,6 +877,26 @@ def __init__(self, lines=None, module=None): }, }, }, + { + "name": "traps.cpu", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\scpu + ((?P_threshold))? + (\s(?Pthreshold))? + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps cpu" + "{{ ' threshold' if traps.cpu.threshold|d(False) else '' }}", + "result": { + "traps": { + "cpu": { + "enable": True, + "threshold": "{{ not not threshold or not not threshold_old }}", + }, + }, + }, + }, { "name": "traps.dhcp", "getval": re.compile( @@ -806,30 +912,38 @@ def __init__(self, lines=None, module=None): }, }, { - "name": "traps.eigrp", + "name": "traps.dlsw", "getval": re.compile( r""" - ^snmp-server\senable\straps\seigrp + ^snmp-server\senable\straps\sdlsw + (\s(?Pcircuit))? + (\s(?Ptconn))? """, re.VERBOSE, ), - "setval": "snmp-server enable traps eigrp", + "setval": "snmp-server enable traps dlsw" + "{{ ' circuit' if traps.dlsw.circuit|d(False) else '' }}" + "{{ ' tconn' if traps.dlsw.tconn|d(False) else '' }}", "result": { "traps": { - "eigrp": True, + "dlsw": { + "enable": True, + "circuit": "{{ not not circuit }}", + "tconn": "{{ not not tconn }}", + }, }, }, }, { - "name": "traps.entity", + "name": "traps.eigrp", "getval": re.compile( r""" - ^snmp-server\senable\straps\sentity + ^snmp-server\senable\straps\seigrp """, re.VERBOSE, ), - "setval": "snmp-server enable traps entity", + "setval": "snmp-server enable traps eigrp", "result": { "traps": { - "entity": True, + "eigrp": True, }, }, }, @@ -848,380 +962,401 @@ def __init__(self, lines=None, module=None): }, }, { - "name": "traps.event_manager", + "name": "traps.entity", "getval": re.compile( r""" - ^snmp-server\senable\straps\sevent-manager + ^snmp-server\senable\straps\sentity\s*$ """, re.VERBOSE, ), - "setval": "snmp-server enable traps event-manager", + "setval": "snmp-server enable traps entity", "result": { "traps": { - "event_manager": True, + "entity": True, }, }, }, { - "name": "traps.flowmon", + "name": "traps.entity_diag", "getval": re.compile( r""" - ^snmp-server\senable\straps\sflowmon + ^snmp-server\senable\straps\sentity-diag + (\s(?Pboot-up-fail))? + (\s(?Phm-test-recover))? + (\s(?Phm-thresh-reached))? + (\s(?Pscheduled-test-fail))? """, re.VERBOSE, ), - "setval": "snmp-server enable traps flowmon", + "setval": "snmp-server enable traps entity-diag" + "{{ ' boot-up-fail' if traps.entity_diag.boot_up_fail|d(False) else '' }}" + "{{ ' hm-test-recover' if traps.entity_diag.hm_test_recover|d(False) else '' }}" + "{{ ' hm-thresh-reached' if traps.entity_diag.hm_thresh_reached|d(False) else '' }}" + "{{ ' scheduled-test-fail' if traps.entity_diag.scheduled_test_fail|d(False) else '' }}", "result": { "traps": { - "flowmon": True, + "entity_diag": { + "enable": True, + "boot_up_fail": "{{ not not boot_up_fail }}", + "hm_test_recover": "{{ not not hm_test_recover }}", + "hm_thresh_reached": "{{ not not hm_thresh_reached }}", + "scheduled_test_fail": "{{ not not scheduled_test_fail }}", + }, }, }, }, { - "name": "traps.fru_ctrl", + "name": "traps.entity_perf", "getval": re.compile( r""" - ^snmp-server\senable\straps\sfru-ctrl + ^snmp-server\senable\straps\sentity-perf + (\s(?Pthroughput-notif))? """, re.VERBOSE, ), - "setval": "snmp-server enable traps fru-ctrl", + "setval": "snmp-server enable traps entity-perf" + "{{ ' throughput-notif' if traps.entity_perf.throughput_notif|d(False) else '' }}", "result": { "traps": { - "fru_ctrl": True, + "entity_perf": { + "enable": True, + "throughput_notif": "{{ not not throughput_notif }}", + }, }, }, }, { - "name": "traps.hsrp", + "name": "traps.entity_state", "getval": re.compile( r""" - ^snmp-server\senable\straps\shsrp + ^snmp-server\senable\straps\sentity-state """, re.VERBOSE, ), - "setval": "snmp-server enable traps hsrp", + "setval": "snmp-server enable traps entity-state", "result": { "traps": { - "hsrp": True, + "entity_state": True, }, }, }, { - "name": "traps.ipsla", + "name": "traps.envmon", "getval": re.compile( r""" - ^snmp-server\senable\straps\sipsla + ^snmp-server\senable\straps\senvmon + (\s(?Pfan))? + (\s(?Pshutdown))? + (\s(?Psupply))? + (\s(?Ptemperature))? + (\s(?Pstatus))? """, re.VERBOSE, ), - "setval": "snmp-server enable traps ipsla", + "setval": "snmp-server enable traps envmon" + "{{ ' fan' if traps.envmon.fan_enable|d(False) else '' }}" + "{{ ' shutdown' if traps.envmon.shutdown|d(False) else '' }}" + "{{ ' supply' if traps.envmon.supply|d(False) else '' }}" + "{{ ' temperature' if traps.envmon.temperature|d(False) else '' }}" + "{{ ' status' if traps.envmon.status|d(False) else '' }}", "result": { "traps": { - "ipsla": True, + "envmon": { + "enable": True, + "fan_enable": "{{ True if fan else False }}", + "shutdown": "{{ True if shutdown else False }}", + "supply": "{{ True if supply else False }}", + "temperature": "{{ True if temperature else False }}", + "status": "{{ True if status else False }}", + }, }, }, }, { - "name": "traps.msdp", + "name": "traps.errdisable", "getval": re.compile( r""" - ^snmp-server\senable\straps\smsdp$ + ^snmp-server\senable\straps\serrdisable """, re.VERBOSE, ), - "setval": "snmp-server enable traps msdp", + "setval": "snmp-server enable traps errdisable", "result": { "traps": { - "msdp": True, + "errdisable": True, }, }, }, { - "name": "traps.pw_vc", + "name": "traps.ether_oam", "getval": re.compile( r""" - ^snmp-server\senable\straps\spw\svc$ + ^snmp-server\senable\straps\sether-oam """, re.VERBOSE, ), - "setval": "snmp-server enable traps pw vc", + "setval": "snmp-server enable traps ether-oam", "result": { "traps": { - "pw_vc": True, + "ether_oam": True, }, }, }, { - "name": "traps.mvpn", + "name": "traps.ethernet.cfm.alarm", "getval": re.compile( r""" - ^snmp-server\senable\straps\smvpn + ^snmp-server\senable\straps\sethernet\scfm\salarm """, re.VERBOSE, ), - "setval": "snmp-server enable traps mvpn", + "setval": "snmp-server enable traps ethernet cfm alarm", "result": { "traps": { - "mvpn": True, + "ethernet": { + "cfm": { + "alarm": True, + }, + }, }, }, }, { - "name": "traps.mpls_vpn", + "name": "traps.ethernet.cfm.cc", "getval": re.compile( r""" - ^snmp-server\senable\straps\smpls\svpn + ^snmp-server\senable\straps\sethernet\scfm\scc + (\s(?Pmep-up))? + (\s(?Pmep-down))? + (\s(?Pcross-connect))? + (\s(?Ploop))? + (\s(?Pconfig))? """, re.VERBOSE, ), - "setval": "snmp-server enable traps mpls vpn", + "setval": "snmp-server enable traps ethernet cfm cc" + "{{ ' mep-up' if traps.ethernet.cfm.cc.mep_up|d(False) else ''}}" + "{{ ' mep-down' if traps.ethernet.cfm.cc.mep_down|d(False) else ''}}" + "{{ ' cross-connect' if traps.ethernet.cfm.cc.cross_connect|d(False) else ''}}" + "{{ ' loop' if traps.ethernet.cfm.cc.loop|d(False) else ''}}" + "{{ ' config' if traps.ethernet.cfm.cc.config|d(False) else ''}}", "result": { "traps": { - "mpls_vpn": True, + "ethernet": { + "cfm": { + "cc": { + "mep_up": "{{ not not mep_up }}", + "mep_down": "{{ not not mep_down }}", + "cross_connect": "{{ not not cross_connect }}", + "loop": "{{ not not loop }}", + "config": "{{ not not config }}", + }, + }, + }, }, }, }, { - "name": "traps.pki", + "name": "traps.ethernet.cfm.crosscheck", "getval": re.compile( r""" - ^snmp-server\senable\straps\spki + ^snmp-server\senable\straps\sethernet\scfm\scrosscheck + (\s(?Pmep-missing))? + (\s(?Pmep-unknown))? + (\s(?Pservice-up))? """, re.VERBOSE, ), - "setval": "snmp-server enable traps pki", + "setval": "snmp-server enable traps ethernet cfm crosscheck" + "{{ ' mep-missing' if traps.ethernet.cfm.crosscheck.mep_missing|d(False) else ''}}" + "{{ ' mep-unknown' if traps.ethernet.cfm.crosscheck.mep_unknown|d(False) else ''}}" + "{{ ' service-up' if traps.ethernet.cfm.crosscheck.service_up|d(False) else ''}}", "result": { "traps": { - "pki": True, + "ethernet": { + "cfm": { + "crosscheck": { + "mep_missing": "{{ not not mep_missing }}", + "mep_unknown": "{{ not not mep_unknown }}", + "service_up": "{{ not not service_up }}", + }, + }, + }, }, }, }, { - "name": "traps.rsvp", + "name": "traps.ethernet.evc", "getval": re.compile( r""" - ^snmp-server\senable\straps\srsvp + ^snmp-server\senable\straps\sethernet\sevc + (\s(?Pstatus))? + (\s(?Pcreate))? + (\s(?Pdelete))? """, re.VERBOSE, ), - "setval": "snmp-server enable traps rsvp", + "setval": "snmp-server enable traps ethernet evc" + "{{ ' status' if traps.ethernet.evc.status|d(False) else ''}}" + "{{ ' create' if traps.ethernet.evc.create|d(False) else ''}}" + "{{ ' delete' if traps.ethernet.evc.delete|d(False) else ''}}", "result": { "traps": { - "rsvp": True, + "ethernet": { + "evc": { + "create": "{{ not not create }}", + "delete": "{{ not not delete }}", + "status": "{{ not not status }}", + }, + }, }, }, }, { - "name": "traps.syslog", + "name": "traps.event_manager", "getval": re.compile( r""" - ^snmp-server\senable\straps\ssyslog + ^snmp-server\senable\straps\sevent-manager """, re.VERBOSE, ), - "setval": "snmp-server enable traps syslog", + "setval": "snmp-server enable traps event-manager", "result": { "traps": { - "syslog": True, + "event_manager": True, }, }, }, { - "name": "traps.transceiver_all", + "name": "traps.flash", "getval": re.compile( r""" - ^snmp-server\senable\straps\stransceiver\sall + ^snmp-server\senable\straps\sflash + (\s(?Pinsertion))? + (\s(?Premoval))? + (\s(?Plowspace))? """, re.VERBOSE, ), - "setval": "snmp-server enable traps transceiver all", + "setval": "snmp-server enable traps flash" + "{{ ' insertion' if traps.flash.insertion|d(False) else '' }}" + "{{ ' removal' if traps.flash.removal|d(False) else '' }}" + "{{ ' lowspace' if traps.flash.lowspace|d(False) else '' }}", "result": { "traps": { - "transceiver_all": True, + "flash": { + "enable": True, + "insertion": "{{ not not insertion }}", + "removal": "{{ not not removal }}", + "lowspace": "{{ not not lowspace }}", + }, }, }, }, { - "name": "traps.tty", + "name": "traps.flex_links", "getval": re.compile( r""" - ^snmp-server\senable\straps\stty + ^snmp-server\senable\straps\sflex-links + (\s(?Pstatus))? """, re.VERBOSE, ), - "setval": "snmp-server enable traps tty", + "setval": "snmp-server enable traps flex-links" + "{{ ' status' if traps.flex_links.status|d(False) else '' }}", "result": { "traps": { - "tty": True, + "flex_links": { + "enable": True, + "status": "{{ not not status }}", + }, }, }, }, { - "name": "traps.envmon.shutdown", + "name": "traps.firewall", "getval": re.compile( r""" - ^snmp-server\senable\straps\senvmon\sshutdown$ + ^snmp-server\senable\straps\sfirewall + (\s(?Pserverstatus))? """, re.VERBOSE, ), - "setval": "snmp-server enable traps envmon shutdown", + "setval": "snmp-server enable traps firewall" + "{{ ' serverstatus' if traps.firewall.serverstatus|d(False) else '' }}", "result": { "traps": { - "envmon": { - "shutdown": True, - }, - }, - }, - }, - { - "name": "traps.envmon.status", - "getval": re.compile( - r""" - ^snmp-server\senable\straps\senvmon\sstatus$ - """, re.VERBOSE, - ), - "setval": "snmp-server enable traps envmon status", - "result": { - "traps": { - "envmon": { - "status": True, - }, - }, - }, - }, - { - "name": "traps.envmon.supply", - "getval": re.compile( - r""" - ^snmp-server\senable\straps\senvmon\ssupply$ - """, re.VERBOSE, - ), - "setval": "snmp-server enable traps envmon supply", - "result": { - "traps": { - "envmon": { - "supply": True, - }, - }, - }, - }, - { - "name": "traps.envmon.temperature", - "getval": re.compile( - r""" - ^snmp-server\senable\straps\senvmon\stemperature$ - """, re.VERBOSE, - ), - "setval": "snmp-server enable traps envmon temperature", - "result": { - "traps": { - "envmon": { - "temperature": True, - }, - }, - }, - }, - { - "name": "traps.envmon.fan.enable", - "getval": re.compile( - r""" - ^snmp-server\senable\straps\senvmon\sfan$ - """, re.VERBOSE, - ), - "setval": "snmp-server enable traps envmon fan", - "result": { - "traps": { - "envmon": { - "fan": { - "enable": True, - }, - }, - }, - }, - }, - { - "name": "traps.envmon.fan.shutdown", - "getval": re.compile( - r""" - ^snmp-server\senable\straps\senvmon\sfan\sshutdown$ - """, re.VERBOSE, - ), - "setval": "snmp-server enable traps envmon fan shutdown", - "result": { - "traps": { - "envmon": { - "fan": { - "shutdown": True, - }, + "firewall": { + "enable": True, + "serverstatus": "{{ not not serverstatus }}", }, }, }, }, { - "name": "traps.envmon.fan.status", + "name": "traps.flowmon", "getval": re.compile( r""" - ^snmp-server\senable\straps\senvmon\sfan\sstatus$ + ^snmp-server\senable\straps\sflowmon """, re.VERBOSE, ), - "setval": "snmp-server enable traps envmon fan status", + "setval": "snmp-server enable traps flowmon", "result": { "traps": { - "envmon": { - "fan": { - "status": True, - }, - }, + "flowmon": True, }, }, }, { - "name": "traps.envmon.fan.supply", + "name": "traps.frame_relay", "getval": re.compile( r""" - ^snmp-server\senable\straps\senvmon\sfan\ssupply$ + ^snmp-server\senable\straps\s(framerelay|frame-relay)$ """, re.VERBOSE, ), - "setval": "snmp-server enable traps envmon fan supply", + "setval": "snmp-server enable traps frame-relay", "result": { "traps": { - "envmon": { - "fan": { - "supply": True, - }, + "frame_relay": { + "enable": True, }, }, }, }, { - "name": "traps.envmon.fan.temperature", + "name": "traps.frame_relay.subif", "getval": re.compile( r""" - ^snmp-server\senable\straps\senvmon\sfan\stemperature$ + ^snmp-server\senable\straps\sframe-relay\ssubif + (\sinterval(?P\d+))? + (\scount(?P\d+))? """, re.VERBOSE, ), - "setval": "snmp-server enable traps envmon fan temperature", + "setval": "snmp-server enable traps frame-relay subif" + "{{ ' interval ' + interval|string if traps.frame_relay.subif.interval|d(False) else '' }}" + "{{ ' count ' + count|string if traps.frame_relay.subif.count|d(False) else '' }}", "result": { "traps": { - "envmon": { - "fan": { - "temperature": True, + "frame_relay": { + "subif": { + "enable": "{{ not not subif }}", + "interval": "{{ interval }}", + "count": "{{ count }}", }, }, }, }, }, { - "name": "traps.vrrp", + "name": "traps.fru_ctrl", "getval": re.compile( r""" - ^snmp-server\senable\straps\svrrp + ^snmp-server\senable\straps\sfru-ctrl """, re.VERBOSE, ), - "setval": "snmp-server enable traps vrrp", + "setval": "snmp-server enable traps fru-ctrl", "result": { "traps": { - "vrrp": True, + "fru_ctrl": True, }, }, }, { - "name": "traps.ipmulticast", + "name": "traps.hsrp", "getval": re.compile( r""" - ^snmp-server\senable\straps\sipmulticast + ^snmp-server\senable\straps\shsrp """, re.VERBOSE, ), - "setval": "snmp-server enable traps ipmulticast", + "setval": "snmp-server enable traps hsrp", "result": { "traps": { - "ipmulticast": True, + "hsrp": True, }, }, }, @@ -1297,6 +1432,20 @@ def __init__(self, lines=None, module=None): }, }, }, + { + "name": "traps.ipmulticast", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\sipmulticast + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps ipmulticast", + "result": { + "traps": { + "ipmulticast": True, + }, + }, + }, { "name": "traps.ipsec.cryptomap.add", "getval": re.compile( @@ -1316,36 +1465,36 @@ def __init__(self, lines=None, module=None): }, }, { - "name": "traps.ipsec.cryptomap.delete", + "name": "traps.ipsec.cryptomap.attach", "getval": re.compile( r""" - ^snmp-server\senable\straps\sipsec\scryptomap\sdelete + ^snmp-server\senable\straps\sipsec\scryptomap\sattach """, re.VERBOSE, ), - "setval": "snmp-server enable traps ipsec cryptomap delete", + "setval": "snmp-server enable traps ipsec cryptomap attach", "result": { "traps": { "ipsec": { "cryptomap": { - "delete": True, + "attach": True, }, }, }, }, }, { - "name": "traps.ipsec.cryptomap.attach", + "name": "traps.ipsec.cryptomap.delete", "getval": re.compile( r""" - ^snmp-server\senable\straps\sipsec\scryptomap\sattach + ^snmp-server\senable\straps\sipsec\scryptomap\sdelete """, re.VERBOSE, ), - "setval": "snmp-server enable traps ipsec cryptomap attach", + "setval": "snmp-server enable traps ipsec cryptomap delete", "result": { "traps": { "ipsec": { "cryptomap": { - "attach": True, + "delete": True, }, }, }, @@ -1369,6 +1518,22 @@ def __init__(self, lines=None, module=None): }, }, }, + { + "name": "traps.ipsec.too_many_sas", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\sipsec\stoo-many-sas + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps ipsec too-many-sas", + "result": { + "traps": { + "ipsec": { + "too_many_sas": True, + }, + }, + }, + }, { "name": "traps.ipsec.tunnel.start", "getval": re.compile( @@ -1406,528 +1571,582 @@ def __init__(self, lines=None, module=None): }, }, { - "name": "traps.ipsec.too_many_sas", + "name": "traps.ipsla", "getval": re.compile( r""" - ^snmp-server\senable\straps\sipsec\stoo-many-sas + ^snmp-server\senable\straps\sipsla """, re.VERBOSE, ), - "setval": "snmp-server enable traps ipsec too-many-sas", + "setval": "snmp-server enable traps ipsla", "result": { "traps": { - "ipsec": { - "too_many_sas": True, - }, + "ipsla": True, }, }, }, { - "name": "traps.ospf.cisco_specific.error", + "name": "traps.isis", "getval": re.compile( r""" - ^snmp-server\senable\straps\sospf\scisco-specific\serrors + ^snmp-server\senable\straps\sisis$ """, re.VERBOSE, ), - "setval": "snmp-server enable traps ospf cisco-specific errors", + "setval": "snmp-server enable traps isis", "result": { "traps": { - "ospf": { - "cisco_specific": { - "error": True, - }, - }, + "isis": True, }, }, }, { - "name": "traps.ospf.cisco_specific.retransmit", + "name": "traps.l2tc", "getval": re.compile( r""" - ^snmp-server\senable\straps\sospf\scisco-specific\sretransmit + ^snmp-server\senable\straps\sl2tc + (\s(?Pthreshold))? + (\s(?Psys-threshold))? """, re.VERBOSE, ), - "setval": "snmp-server enable traps ospf cisco-specific retransmit", + "setval": "snmp-server enable traps l2tc" + "{{ ' threshold' if traps.l2tc.threshold|d(False) else '' }}" + "{{ ' sys-threshold' if traps.l2tc.sys_threshold|d(False) else '' }}", "result": { "traps": { - "ospf": { - "cisco_specific": { - "retransmit": True, - }, + "l2tc": { + "enable": True, + "sys_threshold": "{{ not not sys_threshold }}", + "threshold": "{{ not not threshold }}", }, }, }, }, { - "name": "traps.ospf.cisco_specific.lsa", + "name": "traps.l2tun.pseudowire_status", "getval": re.compile( r""" - ^snmp-server\senable\straps\sospf\scisco-specific\slsa + ^snmp-server\senable\straps\sl2tun\spseudowire\sstatus + (\s(?P))? """, re.VERBOSE, ), - "setval": "snmp-server enable traps ospf cisco-specific lsa", + "setval": "snmp-server enable traps l2tun pseudowire status", "result": { "traps": { - "ospf": { - "cisco_specific": { - "lsa": True, - }, + "l2tun": { + "pseudowire_status": True, }, }, }, }, { - "name": "traps.ospf.cisco_specific.state_change.nssa_trans_change", + "name": "traps.l2tun.session", "getval": re.compile( r""" - ^snmp-server\senable\straps\sospf\scisco-specific\sstate-change\snssa-trans-change + ^snmp-server\senable\straps\sl2tun\ssession """, re.VERBOSE, ), - "setval": "snmp-server enable traps ospf cisco-specific state-change nssa-trans-change", + "setval": "snmp-server enable traps l2tun session", "result": { "traps": { - "ospf": { - "cisco_specific": { - "state_change": { - "nssa_trans_change": True, - }, - }, + "l2tun": { + "session": True, }, }, }, }, { - "name": "traps.ospf.cisco_specific.state_change.shamlink.interface", + "name": "traps.license", "getval": re.compile( r""" - ^snmp-server\senable\straps\sospf\scisco-specific\sstate-change\sshamlink\sinterface + ^snmp-server\senable\straps\slicense """, re.VERBOSE, ), - "setval": "snmp-server enable traps ospf cisco-specific state-change shamlink interface", + "setval": "snmp-server enable traps license", "result": { "traps": { - "ospf": { - "cisco_specific": { - "state_change": { - "shamlink": { - "interface": True, - }, - }, - }, - }, + "license": True, }, }, }, { - "name": "traps.ospf.cisco_specific.state_change.shamlink.neighbor", + "name": "traps.lisp", "getval": re.compile( r""" - ^snmp-server\senable\straps\sospf\scisco-specific\sstate-change\sshamlink\sneighbor + ^snmp-server\senable\straps\slisp """, re.VERBOSE, ), - "setval": "snmp-server enable traps ospf cisco-specific state-change shamlink neighbor", + "setval": "snmp-server enable traps lisp", "result": { "traps": { - "ospf": { - "cisco_specific": { - "state_change": { - "shamlink": { - "neighbor": True, - }, - }, - }, - }, + "lisp": True, }, }, }, { - "name": "traps.ospf.error", + "name": "traps.local_auth", "getval": re.compile( r""" - ^snmp-server\senable\straps\sospf\serrors + ^snmp-server\senable\straps\slocal-auth """, re.VERBOSE, ), - "setval": "snmp-server enable traps ospf errors", + "setval": "snmp-server enable traps local-auth", "result": { "traps": { - "ospf": { - "error": True, - }, + "local_auth": True, }, }, }, { - "name": "traps.ospf.retransmit", + "name": "traps.mac_notification", "getval": re.compile( r""" - ^snmp-server\senable\straps\sospf\sretransmit + ^snmp-server\senable\straps\smac-notification + (\s(?Pchange))? + (\s(?Pmove))? + (\s(?Pthreshold))? """, re.VERBOSE, ), - "setval": "snmp-server enable traps ospf retransmit", + "setval": "snmp-server enable traps mac-notification" + "{{ ' change' if traps.mac_notification.change|d(False) else '' }}" + "{{ ' move' if traps.mac_notification.move|d(False) else '' }}" + "{{ ' threshold' if traps.mac_notification.threshold|d(False) else '' }}", "result": { "traps": { - "ospf": { - "retransmit": True, + "mac_notification": { + "enable": True, + "change": "{{ not not change }}", + "move": "{{ not not move }}", + "threshold": "{{ not not threshold }}", }, }, }, }, { - "name": "traps.ospf.lsa", + "name": "traps.memory", "getval": re.compile( r""" - ^snmp-server\senable\straps\sospf\slsa + ^snmp-server\senable\straps\smemory + (\s(?Pbufferpeak))? """, re.VERBOSE, ), - "setval": "snmp-server enable traps ospf lsa", + "setval": "snmp-server enable traps memory" + "{{ ' bufferpeak' if traps.memory.bufferpeak|d(False) else '' }}", "result": { "traps": { - "ospf": { - "lsa": True, + "memory": { + "enable": True, + "bufferpeak": "{{ not not bufferpeak }}", }, }, }, }, { - "name": "traps.ospf.state_change", + "name": "traps.mpls.fast_reroute", "getval": re.compile( r""" - ^snmp-server\senable\straps\sospf\sstate-change + ^snmp-server\senable\straps\smpls\sfast-reroute + (\s(?Pprotected))? """, re.VERBOSE, ), - "setval": "snmp-server enable traps ospf state-change", + "setval": "snmp-server enable traps mpls fast-reroute" + "{{ ' protected' if traps.mpls.fast_reroute.protected|d(False) else '' }}", "result": { "traps": { - "ospf": { - "state_change": True, + "mpls": { + "fast_reroute": { + "enable": True, + "protected": "{{ not not protected }}", + }, }, }, }, }, { - "name": "traps.l2tun.pseudowire_status", + "name": "traps.mpls.ldp", "getval": re.compile( r""" - ^snmp-server\senable\straps\sl2tun\spseudowire\sstatus - (\s(?P))? + ^snmp-server\senable\straps\smpls\sldp + (\s(?Ppv-limit))? + (\s(?Psession-down))? + (\s(?Psession-up))? + (\s(?Pthreshold))? """, re.VERBOSE, ), - "setval": "snmp-server enable traps l2tun pseudowire status", + "setval": "snmp-server enable traps mpls ldp" + "{{ ' pv-limit' if traps.mpls.ldp.pv_limit|d(False) else '' }}" + "{{ ' session-down' if traps.mpls.ldp.session_down|d(False) else '' }}" + "{{ ' session-up' if traps.mpls.ldp.session_up|d(False) else '' }}" + "{{ ' threshold' if traps.mpls.ldp.threshold|d(False) else '' }}", "result": { "traps": { - "l2tun": { - "pseudowire_status": True, + "mpls": { + "ldp": { + "enable": True, + "pv_limit": "{{ not not pv_limit }}", + "session_down": "{{ not not session_down }}", + "session_up": "{{ not not session_up }}", + "threshold": "{{ not not threshold }}", + }, }, }, }, }, { - "name": "traps.l2tun.session", + "name": "traps.mpls.rfc.ldp", "getval": re.compile( r""" - ^snmp-server\senable\straps\sl2tun\ssession + ^snmp-server\senable\straps\smpls\srfc\sldp + (\s(?Ppv-limit))? + (\s(?Psession-down))? + (\s(?Psession-up))? + (\s(?Pthreshold))? """, re.VERBOSE, ), - "setval": "snmp-server enable traps l2tun session", + "setval": "snmp-server enable traps mpls rfc ldp" + "{{ ' pv-limit' if traps.mpls.rfc.ldp.pv_limit|d(False) else '' }}" + "{{ ' session-down' if traps.mpls.rfc.ldp.session_down|d(False) else '' }}" + "{{ ' session-up' if traps.mpls.rfc.ldp.session_up|d(False) else '' }}" + "{{ ' threshold' if traps.mpls.rfc.ldp.threshold|d(False) else '' }}", "result": { "traps": { - "l2tun": { - "session": True, + "mpls": { + "rfc": { + "ldp": { + "enable": True, + "pv_limit": "{{ not not pv_limit }}", + "session_down": "{{ not not session_down }}", + "session_up": "{{ not not session_up }}", + "threshold": "{{ not not threshold }}", + }, + }, }, }, }, }, { - "name": "traps.cpu", + "name": "traps.mpls.rfc.traffic_eng", "getval": re.compile( r""" - ^snmp-server\senable\straps\scpu - (\s(?Pthreshold))? + ^snmp-server\senable\straps\smpls\srfc\straffic-eng + (\s(?Pdown))? + (\s(?Preoptimized))? + (\s(?Preroute))? + (\s(?Pup))? """, re.VERBOSE, ), - "setval": "{{ 'snmp-server enable traps cpu' if traps.cpu.enable is defined else '' }}" - "{{ ' threshold' if traps.cpu.threshold is defined else '' }}", + "setval": "snmp-server enable traps mpls rfc traffic-eng" + "{{ ' down' if traps.mpls.rfc.traffic_eng.down|d(False) else '' }}" + "{{ ' reoptimized' if traps.mpls.rfc.traffic_eng.reoptimized|d(False) else '' }}" + "{{ ' reroute' if traps.mpls.rfc.traffic_eng.reroute|d(False) else '' }}" + "{{ ' up' if traps.mpls.rfc.traffic_eng.up|d(False) else '' }}", "result": { "traps": { - "cpu": { - "enable": True, - "threshold": "{{ not not threshold }}", + "mpls": { + "rfc": { + "traffic_eng": { + "enable": True, + "down": "{{ not not down }}", + "reoptimized": "{{ not not reoptimized }}", + "reroute": "{{ not not reroute }}", + "up": "{{ not not up }}", + }, + }, }, }, }, }, { - "name": "traps.firewall", + "name": "traps.mpls.rfc.vpn", "getval": re.compile( r""" - ^snmp-server\senable\straps\sfirewall - (\s(?Pserverstatus))? + ^snmp-server\senable\straps\smpls\srfc\svpn + (\s(?Pillegal-label))? + (\s(?Pmax-thresh-cleared))? + (\s(?Pmax-threshold))? + (\s(?Pmid-threshold))? + (\s(?Pvrf-down))? + (\s(?Pvrf-up))? """, re.VERBOSE, ), - "setval": "{{ 'snmp-server enable traps firewall' if traps.firewall.enable is defined else '' }}" - "{{ ' serverstatus' if traps.firewall.serverstatus|d(False) else ''}}", - "result": { - "traps": { - "firewall": { - "enable": True, - "serverstatus": "{{ not not serverstatus }}", + "setval": "snmp-server enable traps mpls rfc vpn" + "{{ ' illegal-label' if traps.mpls.rfc.vpn.illegal_label|d(False) else '' }}" + "{{ ' max-thresh-cleared' if traps.mpls.rfc.vpn.max_thresh_cleared|d(False) else '' }}" + "{{ ' max-threshold' if traps.mpls.rfc.vpn.max_threshold|d(False) else '' }}" + "{{ ' mid-threshold' if traps.mpls.rfc.vpn.mid_threshold|d(False) else '' }}" + "{{ ' vrf-down' if traps.mpls.rfc.vpn.vrf_down|d(False) else '' }}" + "{{ ' vrf-up' if traps.mpls.rfc.vpn.vrf_up|d(False) else '' }}", + "result": { + "traps": { + "mpls": { + "rfc": { + "vpn": { + "enable": True, + "illegal_label": "{{ not not illegal_label }}", + "max_thresh_cleared": "{{ not not max_thresh_cleared }}", + "max_threshold": "{{ not not max_threshold }}", + "mid_threshold": "{{ not not mid_threshold }}", + "vrf_down": "{{ not not vrf_down }}", + "vrf_up": "{{ not not vrf_up }}", + }, + }, }, }, }, }, { - "name": "traps.pim", + "name": "traps.mpls.traffic_eng", "getval": re.compile( r""" - ^snmp-server\senable\straps\spim - (\s(?Pneighbor-change))? - (\s(?Prp-mapping-change))? - (\s(?Pinvalid-pim-message))? + ^snmp-server\senable\straps\smpls\straffic-eng + (\s(?Pdown))? + (\s(?Preroute))? + (\s(?Pup))? """, re.VERBOSE, ), - "setval": "{{ 'snmp-server enable traps pim' if traps.pim.enable is defined else '' }}" - "{{ ' neighbor-change' if traps.pim.neighbor_change|d(False) else ''}}" - "{{ ' rp-mapping-change' if traps.pim.rp_mapping_change|d(False) else ''}}" - "{{ ' invalid-pim-message' if traps.pim.invalid_pim_message|d(False) else ''}}", + "setval": "snmp-server enable traps mpls traffic-eng" + "{{ ' down' if traps.mpls.traffic_eng.down|d(False) else '' }}" + "{{ ' reroute' if traps.mpls.traffic_eng.reroute|d(False) else '' }}" + "{{ ' up' if traps.mpls.traffic_eng.up|d(False) else '' }}", "result": { "traps": { - "pim": { - "enable": True, - "neighbor_change": "{{ not not neighbor_change }}", - "rp_mapping_change": "{{ not not rp_mapping_change }}", - "invalid_pim_message": "{{ not not invalid_pim_message }}", + "mpls": { + "traffic_eng": { + "enable": True, + "down": "{{ not not down }}", + "reroute": "{{ not not reroute }}", + "up": "{{ not not up }}", + }, }, }, }, }, { - "name": "traps.vrfmib", + "name": "traps.mpls.vpn", "getval": re.compile( r""" - ^snmp-server\senable\straps\svrfmib - (\s(?Pvrf-up))? + ^snmp-server\senable\straps\smpls(-|\s)vpn + (\s(?Pillegal-label))? + (\s(?Pmax-thresh-cleared))? + (\s(?Pmax-threshold))? + (\s(?Pmid-threshold))? (\s(?Pvrf-down))? - (\s(?Pvnet-trunk-up))? - (\s(?Pvnet-trunk-down))? + (\s(?Pvrf-up))? """, re.VERBOSE, ), - "setval": "snmp-server enable traps vrfmib" - "{{ ' vrf-up' if traps.vrfmib.vrf_up|d(False) else ''}}" - "{{ ' vrf-down' if traps.vrfmib.vrf_down|d(False) else ''}}" - "{{ ' vnet-trunk-up' if traps.vrfmib.vnet_trunk_up|d(False) else ''}}" - "{{ ' vnet-trunk-down' if traps.vrfmib.vnet_trunk_down|d(False) else ''}}", + "setval": "{% if 'vpn' in traps.mpls and traps.mpls.vpn.enable %}" + "snmp-server enable traps mpls vpn" + "{{ ' illegal-label' if traps.mpls.vpn.illegal_label|d(False) else '' }}" + "{{ ' max-thresh-cleared' if traps.mpls.vpn.max_thresh_cleared|d(False) else '' }}" + "{{ ' max-threshold' if traps.mpls.vpn.max_threshold|d(False) else '' }}" + "{{ ' mid-threshold' if traps.mpls.vpn.mid_threshold|d(False) else '' }}" + "{{ ' vrf-down' if traps.mpls.vpn.vrf_down|d(False) else '' }}" + "{{ ' vrf-up' if traps.mpls.vpn.vrf_up|d(False) else '' }}" + "{% endif %}", "result": { "traps": { - "vrfmib": { - "vrf_up": "{{ not not vrf_up }}", - "vrf_down": "{{ not not vrf_down }}", - "vnet_trunk_up": "{{ not not vnet_trunk_up }}", - "vnet_trunk_down": "{{ not not vnet_trunk_down }}", + "mpls": { + "vpn": { + "enable": True, + "illegal_label": "{{ not not illegal_label }}", + "max_thresh_cleared": "{{ not not max_thresh_cleared }}", + "max_threshold": "{{ not not max_threshold }}", + "mid_threshold": "{{ not not mid_threshold }}", + "vrf_down": "{{ not not vrf_down }}", + "vrf_up": "{{ not not vrf_up }}", + }, }, }, }, }, { - "name": "traps.snmp", + "name": "traps.msdp", "getval": re.compile( r""" - ^snmp-server\senable\straps\ssnmp - (\s(?Pauthentication))? - (\s(?Plinkdown))? - (\s(?Plinkup))? - (\s(?Pcoldstart))? - (\s(?Pwarmstart))? + ^snmp-server\senable\straps\smsdp$ """, re.VERBOSE, ), - "setval": "snmp-server enable traps snmp" - "{{ ' authentication' if traps.snmp.authentication is defined else '' }}" - "{{ ' linkdown' if traps.snmp.linkdown|d(False) else ''}}" - "{{ ' linkup' if traps.snmp.linkup|d(False) else ''}}" - "{{ ' warmstart' if traps.snmp.warmstart|d(False) else ''}}" - "{{ ' coldstart' if traps.snmp.coldstart|d(False) else ''}}", + "setval": "snmp-server enable traps msdp", "result": { "traps": { - "snmp": { - "authentication": "{{ not not authentication }}", - "linkdown": "{{ not not linkdown }}", - "linkup": "{{ not not linkup }}", - "coldstart": "{{ not not coldstart }}", - "warmstart": "{{ not not warmstart }}", - }, + "msdp": True, }, }, }, { - "name": "traps.frame_relay", + "name": "traps.mvpn", "getval": re.compile( r""" - ^snmp-server\senable\straps\sframe-relay$ + ^snmp-server\senable\straps\smvpn """, re.VERBOSE, ), - "setval": "snmp-server enable traps frame-relay", + "setval": "snmp-server enable traps mvpn", "result": { "traps": { - "frame_relay": { + "mvpn": True, + }, + }, + }, + { + "name": "traps.nhrp.nhc", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\snhrp\snhc + (\s(?Pdown))? + (\s(?Pup))? + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps nhrp nhc" + "{{ ' down' if traps.nhrp.nhc.down|d(False) else '' }}" + "{{ ' up' if traps.nhrp.nhc.up|d(False) else '' }}", + "result": { + "traps": { + "nhrp": { "enable": True, + "nhc": { + "enable": True, + "down": "{{ not not down }}", + "up": "{{ not not up }}", + }, }, }, }, }, { - "name": "traps.frame_relay.subif", + "name": "traps.nhrp.nhp", "getval": re.compile( r""" - ^snmp-server\senable\straps\sframe-relay\ssubif - (\scount(?P\d+))? - (\sinterval(?P\d+))? + ^snmp-server\senable\straps\snhrp\snhp + (\s(?Pdown))? + (\s(?Pup))? """, re.VERBOSE, ), - "setval": "snmp-server enable traps frame-relay subif" - "{{ (' count ' + count|string) if traps.frame_relay.count else '' }}" - "{{ (' interval ' + interval|string) if traps.frame_relay.interval else '' }}", + "setval": "snmp-server enable traps nhrp nhp" + "{{ ' down' if traps.nhrp.nhc.down|d(False) else '' }}" + "{{ ' up' if traps.nhrp.nhc.up|d(False) else '' }}", "result": { "traps": { - "frame_relay": { - "subif": { - "enable": "{{ not not subif }}", - "interval": "{{ interval }}", - "count": "{{ count }}", + "nhrp": { + "enable": True, + "nhp": { + "enable": True, + "down": "{{ not not down }}", + "up": "{{ not not up }}", }, }, }, }, }, { - "name": "traps.cef", + "name": "traps.nhrp.nhs", "getval": re.compile( r""" - ^snmp-server\senable\straps\scef - (\s(?Presource-failure))? - (\s(?Ppeer-state-change))? - (\s(?Ppeer-fib-state-change))? - (\s(?Pinconsistency))? + ^snmp-server\senable\straps\snhrp\snhs + (\s(?Pdown))? + (\s(?Pup))? """, re.VERBOSE, ), - "setval": "{{ 'snmp-server enable traps cef' if traps.cef.enable is defined else '' }}" - "{{ ' resource-failure' if traps.cef.resource_failure|d(False) else ''}}" - "{{ ' peer-state-change' if traps.cef.peer_state_change|d(False) else ''}}" - "{{ ' peer-fib-state-change' if traps.cef.peer_fib_state_change|d(False) else ''}}" - "{{ ' inconsistency' if traps.cef.inconsistency|d(False) else ''}}", + "setval": "snmp-server enable traps nhrp nhs" + "{{ ' down' if traps.nhrp.nhc.down|d(False) else '' }}" + "{{ ' up' if traps.nhrp.nhc.up|d(False) else '' }}", "result": { "traps": { - "cef": { + "nhrp": { "enable": True, - "inconsistency": "{{ not not inconsistency }}", - "peer_fib_state_change": "{{ not not peer_fib_state_change }}", - "peer_state_change": "{{ not not peer_state_change }}", - "resource_failure": "{{ not not resource_failure }}", + "nhs": { + "enable": True, + "down": "{{ not not down }}", + "up": "{{ not not up }}", + }, }, }, }, }, { - "name": "traps.dlsw", + "name": "traps.nhrp.quota_exceeded", "getval": re.compile( r""" - ^snmp-server\senable\straps\sdlsw - (\s(?Pcircuit))? - (\s(?Ptconn))? + ^snmp-server\senable\straps\snhrp + (\s(?Pquota-exceeded))?$ """, re.VERBOSE, ), - "setval": "{{ 'snmp-server enable traps dlsw' if traps.dlsw.enable is defined else '' }}" - "{{ ' circuit' if traps.dlsw.circuit|d(False) else ''}}" - "{{ ' tconn' if traps.dlsw.tconn|d(False) else ''}}", + "setval": "snmp-server enable traps nhrp" + "{{ ' quota-exceeded' if traps.nhrp.quota_exceeded|d(False) else '' }}", "result": { "traps": { - "dlsw": { + "nhrp": { "enable": True, - "circuit": "{{ not not circuit }}", - "tconn": "{{ not not tconn }}", + "quota_exceeded": "{{ not not quota_exceeded }}", }, }, }, }, { - "name": "traps.ethernet.evc", + "name": "traps.ospf.cisco_specific.error", "getval": re.compile( r""" - ^snmp-server\senable\straps\sethernet\sevc - (\s(?Pstatus))? - (\s(?Pcreate))? - (\s(?Pdelete))? + ^snmp-server\senable\straps\sospf\scisco-specific\serrors """, re.VERBOSE, ), - "setval": "snmp-server enable traps ethernet evc" - "{{ ' create' if traps.ethernet.evc.create|d(False) else ''}}" - "{{ ' delete' if traps.ethernet.evc.delete|d(False) else ''}}" - "{{ ' status' if traps.ethernet.evc.status|d(False) else ''}}", + "setval": "snmp-server enable traps ospf cisco-specific errors", "result": { "traps": { - "ethernet": { - "evc": { - "create": "{{ not not create }}", - "delete": "{{ not not delete }}", - "status": "{{ not not status }}", + "ospf": { + "cisco_specific": { + "error": True, }, }, }, }, }, { - "name": "traps.ethernet.cfm.cc", + "name": "traps.ospf.cisco_specific.lsa", "getval": re.compile( r""" - ^snmp-server\senable\straps\sethernet\scfm\scc - (\s(?Pmep-up))? - (\s(?Pmep-down))? - (\s(?Pcross-connect))? - (\s(?Ploop))? - (\s(?Pconfig))? + ^snmp-server\senable\straps\sospf\scisco-specific\slsa """, re.VERBOSE, ), - "setval": "snmp-server enable traps ethernet cfm cc" - "{{ ' mep-up' if traps.ethernet.cfm.cc.mep_up|d(False) else ''}}" - "{{ ' mep-down' if traps.ethernet.cfm.cc.mep_down|d(False) else ''}}" - "{{ ' cross-connect' if traps.ethernet.cfm.cc.cross_connect|d(False) else ''}}" - "{{ ' loop' if traps.ethernet.cfm.cc.loop|d(False) else ''}}" - "{{ ' config' if traps.ethernet.cfm.cc.config|d(False) else ''}}", + "setval": "snmp-server enable traps ospf cisco-specific lsa", "result": { "traps": { - "ethernet": { - "cfm": { - "cc": { - "mep_up": "{{ not not mep_up }}", - "mep_down": "{{ not not mep_down }}", - "cross_connect": "{{ not not cross_connect }}", - "loop": "{{ not not loop }}", - "config": "{{ not not config }}", - }, + "ospf": { + "cisco_specific": { + "lsa": True, }, }, }, }, }, { - "name": "traps.ethernet.cfm.crosscheck", + "name": "traps.ospf.cisco_specific.retransmit", "getval": re.compile( r""" - ^snmp-server\senable\straps\sethernet\scfm\scrosscheck - (\s(?Pmep-missing))? - (\s(?Pmep-unknown))? - (\s(?Pservice-up))? + ^snmp-server\senable\straps\sospf\scisco-specific\sretransmit """, re.VERBOSE, ), - "setval": "snmp-server enable traps ethernet cfm crosscheck" - "{{ ' mep-missing' if traps.ethernet.cfm.crosscheck.mep_missing|d(False) else ''}}" - "{{ ' mep-unknown' if traps.ethernet.cfm.crosscheck.mep_unknown|d(False) else ''}}" - "{{ ' service-up' if traps.ethernet.cfm.crosscheck.service_up|d(False) else ''}}", + "setval": "snmp-server enable traps ospf cisco-specific retransmit", "result": { "traps": { - "ethernet": { - "cfm": { - "crosscheck": { - "mep_missing": "{{ not not mep_missing }}", - "mep_unknown": "{{ not not mep_unknown }}", - "service_up": "{{ not not service_up }}", + "ospf": { + "cisco_specific": { + "retransmit": True, + }, + }, + }, + }, + }, + { + "name": "traps.ospf.cisco_specific.state_change.nssa_trans_change", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\sospf\scisco-specific\sstate-change\snssa-trans-change + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps ospf cisco-specific state-change nssa-trans-change", + "result": { + "traps": { + "ospf": { + "cisco_specific": { + "state_change": { + "nssa_trans_change": True, }, }, }, @@ -1935,23 +2154,758 @@ def __init__(self, lines=None, module=None): }, }, { - "name": "traps.ethernet.cfm.alarm", + "name": "traps.ospf.cisco_specific.state_change.shamlink.interface", "getval": re.compile( r""" - ^snmp-server\senable\straps\sethernet\scfm\salarm + ^snmp-server\senable\straps\sospf\scisco-specific\sstate-change\sshamlink\sinterface """, re.VERBOSE, ), - "setval": "snmp-server enable traps ethernet cfm alarm", + "setval": "snmp-server enable traps ospf cisco-specific state-change shamlink interface", "result": { "traps": { - "ethernet": { - "cfm": { - "alarm": True, + "ospf": { + "cisco_specific": { + "state_change": { + "shamlink": { + "interface": True, + }, + }, }, }, }, }, }, + { + "name": "traps.ospf.cisco_specific.state_change.shamlink.neighbor", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\sospf\scisco-specific\sstate-change\sshamlink\sneighbor + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps ospf cisco-specific state-change shamlink neighbor", + "result": { + "traps": { + "ospf": { + "cisco_specific": { + "state_change": { + "shamlink": { + "neighbor": True, + }, + }, + }, + }, + }, + }, + }, + { + "name": "traps.ospf.error", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\sospf\serrors + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps ospf errors", + "result": { + "traps": { + "ospf": { + "error": True, + }, + }, + }, + }, + { + "name": "traps.ospf.lsa", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\sospf\slsa + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps ospf lsa", + "result": { + "traps": { + "ospf": { + "lsa": True, + }, + }, + }, + }, + { + "name": "traps.ospf.retransmit", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\sospf\sretransmit + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps ospf retransmit", + "result": { + "traps": { + "ospf": { + "retransmit": True, + }, + }, + }, + }, + { + "name": "traps.ospf.state_change", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\sospf\sstate-change + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps ospf state-change", + "result": { + "traps": { + "ospf": { + "state_change": True, + }, + }, + }, + }, + { + "name": "traps.ospfv3.errors", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\sospfv3\serrors + (\s(?Pbad-packet))? + (\s(?Pconfig-error))? + (\s(?Pvirt-bad-packet))? + (\s(?Pvirt-config-error))? + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps ospfv3 errors" + "{{ ' bad-packet' if traps.ospfv3.errors.bad_packet|d(False) else '' }}" + "{{ ' config-error' if traps.ospfv3.errors.config_error|d(False) else '' }}" + "{{ ' virt-bad-packet' if traps.ospfv3.errors.virt_bad_packet|d(False) else '' }}" + "{{ ' virt-config-error' if traps.ospfv3.errors.virt_config_error|d(False) else '' }}", + "result": { + "traps": { + "ospfv3": { + "errors": { + "enable": True, + "bad_packet": "{{ not not bad_packet }}", + "config_error": "{{ not not config_error }}", + "virt_bad_packet": "{{ not not virt_bad_packet }}", + "virt_config_error": "{{ not not virt_config_error }}", + }, + }, + }, + }, + }, + { + "name": "traps.ospfv3.rate_limit", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\sospfv3\srate-limit + (\s(?P[0-9]+))? + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps ospfv3 rate_limit" + "{{ traps.ospfv3.rate_limit|int if traps.ospfv3.rate_limit|int > 0 else '' }}", + "result": { + "traps": { + "ospfv3": { + "rate_limit": "{{ rate_limit if rate_limit|int >=2 or rate_limit|int <= 60 }}", + }, + }, + }, + }, + { + "name": "traps.ospfv3.state_change", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\sospfv3\sstate-change + (\s(?Pif-state-change))? + (\s(?Pneighbor-restart-helper-status-change))? + (\s(?Pneighbor-state-change))? + (\s(?Pnssa-translator-status-change))? + (\s(?Prestart-status-change))? + (\s(?Pvirtif-state-change))? + (\s(?Pvirtneighbor-restart-helper-status-change))? + (\s(?Pvirtneighbor-state-change))? + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps ospfv3 state-change" + "{{ ' if-state-change' if traps.ospfv3.state_change.if_state_change|d(False) else '' }}" + "{{ ' neighbor-restart-helper-status-change' if traps.ospfv3.state_change.neighbor_restart_helper_status_change|d(False) else '' }}" + "{{ ' neighbor-state-change' if traps.ospfv3.state_change.neighbor_state_change|d(False) else '' }}" + "{{ ' nssa-translator-status-change' if traps.ospfv3.state_change.nssa_translator_status_change|d(False) else '' }}" + "{{ ' restart-status-change' if traps.ospfv3.state_change.restart_status_change|d(False) else '' }}" + "{{ ' virtif-state-change' if traps.ospfv3.state_change.virtif_state_change|d(False) else '' }}" + "{{ ' virtneighbor-restart-helper-status-change' if traps.ospfv3.state_change.vn_restart_helper_status_change|d(False) else '' }}" + "{{ ' virtneighbor-state-change' if traps.ospfv3.state_change.vn_state_change|d(False) else '' }}", + "result": { + "traps": { + "ospfv3": { + "state_change": { + "enable": True, + "if_state_change": "{{ not not if_state_change }}", + "neighbor_restart_helper_status_change": "{{ not not neighbor_restart_helper_status_change }}", + "neighbor_state_change": "{{ not not neighbor_state_change }}", + "nssa_translator_status_change": "{{ not not nssa_translator_status_change }}", + "restart_status_change": "{{ not not restart_status_change }}", + "virtif_state_change": "{{ not not virtif_state_change }}", + "vn_restart_helper_status_change": "{{ not not virtneighbor_restart_helper_status_change }}", + "vn_state_change": "{{ not not virtneighbor_state_change }}", + }, + }, + }, + }, + }, + { + "name": "traps.pim", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\spim + (\s(?Pneighbor-change))? + (\s(?Prp-mapping-change))? + (\s(?Pinvalid-pim-message))? + """, re.VERBOSE, + ), + "setval": "{{ 'snmp-server enable traps pim' if traps.pim.enable is defined else '' }}" + "{{ ' neighbor-change' if traps.pim.neighbor_change|d(False) else ''}}" + "{{ ' rp-mapping-change' if traps.pim.rp_mapping_change|d(False) else ''}}" + "{{ ' invalid-pim-message' if traps.pim.invalid_pim_message|d(False) else ''}}", + "result": { + "traps": { + "pim": { + "enable": True, + "neighbor_change": "{{ not not neighbor_change }}", + "rp_mapping_change": "{{ not not rp_mapping_change }}", + "invalid_pim_message": "{{ not not invalid_pim_message }}", + }, + }, + }, + }, + { + "name": "traps.pki", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\spki + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps pki", + "result": { + "traps": { + "pki": True, + }, + }, + }, + { + "name": "traps.port_security", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\sport-security + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps port-security", + "result": { + "traps": { + "port_security": True, + }, + }, + }, + { + "name": "traps.power_ethernet", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\spower-ethernet + (\s(?Ppolice))?$ + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps power-ethernet" + "{{ ' police' if traps.power_ethernet.police|d(False) else '' }}", + "result": { + "traps": { + "power_ethernet": { + "enable": True, + "police": "{{ not not police }}", + }, + }, + }, + }, + { + "name": "traps.pw_vc", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\spw\svc$ + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps pw vc", + "result": { + "traps": { + "pw_vc": True, + }, + }, + }, + { + "name": "traps.rep", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\srep + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps rep", + "result": { + "traps": { + "rep": True, + }, + }, + }, + { + "name": "traps.rsvp", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\srsvp + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps rsvp", + "result": { + "traps": { + "rsvp": True, + }, + }, + }, + { + "name": "traps.rf", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\srf + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps rf", + "result": { + "traps": { + "rf": True, + }, + }, + }, + { + "name": "traps.smart_license", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\ssmart-license + (\s(?Pentitlement))? + (\s(?Pglobal))? + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps smart-license" + "{{ ' entitlement' if traps.smart_license.entitlement|d(False) else '' }}" + "{{ ' global' if traps.smart_license.global|d(False) else '' }}", + "result": { + "traps": { + "smart_license": { + "enable": True, + "entitlement": "{{ not not entitlement }}", + "global": "{{ not not global }}", + }, + }, + }, + }, + { + "name": "traps.snmp", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\ssnmp + (\s(?Pauthentication))? + (\s(?Plinkdown))? + (\s(?Plinkup))? + (\s(?Pcoldstart))? + (\s(?Pwarmstart))? + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps snmp" + "{{ ' authentication' if traps.snmp.authentication is defined else '' }}" + "{{ ' linkdown' if traps.snmp.linkdown|d(False) else ''}}" + "{{ ' linkup' if traps.snmp.linkup|d(False) else ''}}" + "{{ ' coldstart' if traps.snmp.coldstart|d(False) else ''}}" + "{{ ' warmstart' if traps.snmp.warmstart|d(False) else ''}}", + "result": { + "traps": { + "snmp": { + "authentication": "{{ not not authentication }}", + "linkdown": "{{ not not linkdown }}", + "linkup": "{{ not not linkup }}", + "coldstart": "{{ not not coldstart }}", + "warmstart": "{{ not not warmstart }}", + }, + }, + }, + }, + { + "name": "traps.stackwise", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\sstackwise + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps stackwise", + "result": { + "traps": { + "stackwise": True, + }, + }, + }, + { + "name": "traps.stpx", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\sstpx + (\s(?Pinconsistency))? + (\s(?Proot-inconsistency))? + (\s(?Ploop-inconsistency))? + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps stpx" + "{{ ' inconsistency' if traps.stpx.inconsistency|d(False) else '' }}" + "{{ ' root-inconsistency' if traps.stpx.root_inconsistency|d(False) else '' }}" + "{{ ' loop-inconsistency' if traps.stpx.loop_inconsistency|d(False) else '' }}", + "result": { + "traps": { + "stpx": { + "enable": True, + "inconsistency": "{{ not not inconsistency }}", + "loop_inconsistency": "{{ not not loop_inconsistency }}", + "root_inconsistency": "{{ not not root_inconsistency }}", + }, + }, + }, + }, + { + "name": "traps.syslog", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\ssyslog + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps syslog", + "result": { + "traps": { + "syslog": True, + }, + }, + }, + { + "name": "traps.transceiver_all", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\stransceiver\sall + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps transceiver all", + "result": { + "traps": { + "transceiver_all": True, + }, + }, + }, + { + "name": "traps.trustsec", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\strustsec + (?!\S) + (\s(?Pauthz-file-error))? + (\s(?Pcache-file-error))? + (\s(?Pkeystore-file-error))? + (\s(?Pkeystore-sync-fail))? + (\s(?Prandom-number-fail))? + (\s(?Psrc-entropy-fail))? + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps trustsec" + "{{ ' authz-file-error' if traps.trustsec.authz_file_error|d(False) else '' }}" + "{{ ' cache-file-error' if traps.trustsec.cache_file_error|d(False) else '' }}" + "{{ ' keystore-file-error' if traps.trustsec.keystore_file_error|d(False) else '' }}" + "{{ ' keystore-sync-fail' if traps.trustsec.keystore_sync_fail|d(False) else '' }}" + "{{ ' random-number-fail' if traps.trustsec.random_number_fail|d(False) else '' }}" + "{{ ' src-entropy-fail' if traps.trustsec.src_entropy_fail|d(False) else '' }}", + "result": { + "traps": { + "trustsec": { + "enable": True, + "authz_file_error": "{{ not not authz_file_error }}", + "cache_file_error": "{{ not not cache_file_error }}", + "keystore_file_error": "{{ not not keystore_file_error }}", + "keystore_sync_fail": "{{ not not keystore_sync_fail }}", + "random_number_fail": "{{ not not random_number_fail }}", + "src_entropy_fail": "{{ not not src_entropy_fail }}", + }, + }, + }, + }, + { + "name": "traps.trustsec_interface", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\strustsec-interface + (\s(?Punauthorized))? + (\s(?Psap-fail))? + (\s(?Pauthc-fail))? + (\s(?Psupplicant-fail))? + (\s(?Pauthz-fail))? + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps trustsec-interface" + "{{ ' unauthorized' if traps.trustsec_interface.unauthorized|d(False) else '' }}" + "{{ ' sap-fail' if traps.trustsec_interface.sap_fail|d(False) else '' }}" + "{{ ' authc-fail' if traps.trustsec_interface.authc_fail|d(False) else '' }}" + "{{ ' supplicant-fail' if traps.trustsec_interface.supplicant_fail|d(False) else '' }}" + "{{ ' authz-fail' if traps.trustsec_interface.authz_fail|d(False) else '' }}", + "result": { + "traps": { + "trustsec_interface": { + "enable": True, + "unauthorized": "{{ not not unauthorized }}", + "sap_fail": "{{ not not sap_fail }}", + "authc_fail": "{{ not not authc_fail }}", + "supplicant_fail": "{{ not not supplicant_fail }}", + "authz_fail": "{{ not not authz_fail }}", + }, + }, + }, + }, + { + "name": "traps.trustsec_policy", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\strustsec-policy + (\s(?Ppeer-policy-updated))? + (\s(?Pauthz-sgacl-fail))? + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps trustsec-policy" + "{{ ' peer-policy-updated' if traps.trustsec_policy.peer_policy_updated|d(False) else '' }}" + "{{ ' authz-sgacl-fail' if traps.trustsec_policy.authz_sgacl_fail|d(False) else '' }}", + "result": { + "traps": { + "trustsec_policy": { + "enable": True, + "peer_policy_updated": "{{ not not peer_policy_updated }}", + "authz_sgacl_fail": "{{ not not authz_sgacl_fail }}", + }, + }, + }, + }, + { + "name": "traps.trustsec_server", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\strustsec-server + (\s(?Pradius-server))? + (\s(?Pprovision-secret))? + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps trustsec-server" + "{{ ' radius-server' if traps.trustsec_server.radius_server|d(False) else '' }}" + "{{ ' provision-secret' if traps.trustsec_server.provision_secret|d(False) else '' }}", + "result": { + "traps": { + "trustsec_server": { + "enable": True, + "radius_server": "{{ not not radius_server }}", + "provision_secret": "{{ not not provision_secret }}", + }, + }, + }, + }, + { + "name": "traps.trustsec_sxp", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\strustsec-sxp + (\s(?Pconn-srcaddr-err))? + (\s(?Pmsg-parse-err))? + (\s(?Pconn-config-err))? + (\s(?Pbinding-err))? + (\s(?Pconn-up))? + (\s(?Pconn-down))? + (\s(?Pbinding-expn-fail))? + (\s(?Poper-nodeid-change))? + (\s(?Pbinding-conflict))? + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps trustsec-sxp" + "{{ ' conn-srcaddr-err' if traps.trustsec_sxp.conn_srcaddr_err|d(False) else '' }}" + "{{ ' msg-parse-err' if traps.trustsec_sxp.msg_parse_err|d(False) else '' }}" + "{{ ' conn-config-err' if traps.trustsec_sxp.conn_config_err|d(False) else '' }}" + "{{ ' binding-err' if traps.trustsec_sxp.binding_err|d(False) else '' }}" + "{{ ' conn-up' if traps.trustsec_sxp.conn_up|d(False) else '' }}" + "{{ ' conn-down' if traps.trustsec_sxp.conn_down|d(False) else '' }}" + "{{ ' binding-expn-fail' if traps.trustsec_sxp.binding_expn_fail|d(False) else '' }}" + "{{ ' oper-nodeid-change' if traps.trustsec_sxp.oper_nodeid_change|d(False) else '' }}" + "{{ ' binding-conflict' if traps.trustsec_sxp.binding_conflict|d(False) else '' }}", + "result": { + "traps": { + "trustsec_sxp": { + "enable": True, + "conn_srcaddr_err": "{{ not not conn_srcaddr_err }}", + "msg_parse_err": "{{ not not msg_parse_err }}", + "conn_config_err": "{{ not not conn_config_err }}", + "binding_err": "{{ not not binding_err }}", + "conn_up": "{{ not not conn_up }}", + "conn_down": "{{ not not conn_down }}", + "binding_expn_fail": "{{ not not binding_expn_fail }}", + "oper_nodeid_change": "{{ not not oper_nodeid_change }}", + "binding_conflict": "{{ not not binding_conflict }}", + }, + }, + }, + }, + { + "name": "traps.tty", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\stty + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps tty", + "result": { + "traps": { + "tty": True, + }, + }, + }, + { + "name": "traps.udld", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\sudld + (\s(?Plink-fail-rpt))? + (\s(?Pstatus-change))? + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps udld" + "{{ ' link-fail-rpt' if traps.udld.link_fail_rpt|d(False) else '' }}" + "{{ ' status-change' if traps.udld.status_change|d(False) else '' }}", + "result": { + "traps": { + "udld": { + "enable": True, + "link_fail_rpt": "{{ not not link_fail_rpt }}", + "status_change": "{{ not not status_change }}", + }, + }, + }, + }, + { + "name": "traps.vlan_membership", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\svlan-membership + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps vlan-membership", + "result": { + "traps": { + "vlan_membership": True, + }, + }, + }, + { + "name": "traps.vlancreate", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\svlancreate + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps vlancreate", + "result": { + "traps": { + "vlancreate": True, + }, + }, + }, + { + "name": "traps.vlandelete", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\svlandelete + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps vlandelete", + "result": { + "traps": { + "vlandelete": True, + }, + }, + }, + { + "name": "traps.vrfmib", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\svrfmib + (\s(?Pvrf-up))? + (\s(?Pvrf-down))? + (\s(?Pvnet-trunk-up))? + (\s(?Pvnet-trunk-down))? + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps vrfmib" + "{{ ' vrf-up' if traps.vrfmib.vrf_up|d(False) else ''}}" + "{{ ' vrf-down' if traps.vrfmib.vrf_down|d(False) else ''}}" + "{{ ' vnet-trunk-up' if traps.vrfmib.vnet_trunk_up|d(False) else ''}}" + "{{ ' vnet-trunk-down' if traps.vrfmib.vnet_trunk_down|d(False) else ''}}", + "result": { + "traps": { + "vrfmib": { + "vrf_up": "{{ not not vrf_up }}", + "vrf_down": "{{ not not vrf_down }}", + "vnet_trunk_up": "{{ not not vnet_trunk_up }}", + "vnet_trunk_down": "{{ not not vnet_trunk_down }}", + }, + }, + }, + }, + { + "name": "traps.vrrp", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\svrrp + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps vrrp", + "result": { + "traps": { + "vrrp": True, + }, + }, + }, + { + "name": "traps.vswitch", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\svswitch + (\s(?Pdual-active))? + (\s(?Pvsl))? + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps vswitch" + "{{ ' dual-active' if traps.vswitch.dual_active|d(False) else '' }}" + "{{ ' vsl' if traps.vswitch.vsl|d(False) else '' }}", + "result": { + "traps": { + "vswitch": { + "enable": True, + "dual_active": "{{ not not dual_active }}", + "vsl": "{{ not not vsl }}", + }, + }, + }, + }, + { + "name": "traps.vtp", + "getval": re.compile( + r""" + ^snmp-server\senable\straps\svtp + """, re.VERBOSE, + ), + "setval": "snmp-server enable traps vtp", + "result": { + "traps": { + "vtp": True, + }, + }, + }, { "name": "system_shutdown", "getval": re.compile( diff --git a/plugins/modules/ios_snmp_server.py b/plugins/modules/ios_snmp_server.py index 5cfc735d8..20c943104 100644 --- a/plugins/modules/ios_snmp_server.py +++ b/plugins/modules/ios_snmp_server.py @@ -121,6 +121,12 @@ context: description: Specify a context to associate with the group type: str + match: + choices: + - exact + - prefix + description: Specify a context name match criteria + type: str version_option: choices: - auth @@ -173,9 +179,9 @@ elements: str version: choices: - - "1" + - '1' - 2c - - "3" + - '3' description: Notification message SNMP version. type: str version_option: @@ -274,6 +280,9 @@ traps: description: Enable SNMP Traps suboptions: + aaa_server: + description: Enable SNMP AAA Server traps + type: bool auth_framework: description: Enable SNMP CISCO-AUTH-FRAMEWORK-MIB traps suboptions: @@ -343,6 +352,32 @@ description: Enable SNMP STP Bridge MIB topologychange traps type: bool type: dict + bulkstat: + description: Allow Data-Collection-MIB Collection notifications + suboptions: + enable: + description: Enable Data-Collection-MIB Collection and Transfert notifications + type: bool + collection: + description: Enable Data-Collection-MIB Collection notifications + type: bool + transfer: + description: Enable Data-Collection-MIB Transfer notifications + type: bool + type: dict + call_home: + description: SNMP CISCO-CALLHOME-MIB traps + suboptions: + enable: + description: Enable SNMP CISCO-CALLHOME-MIB traps + type: bool + message_send_fail: + description: Enable SNMP ccmSmtpMsgSendFailNotif notification + type: bool + server_fail: + description: Enable SNMP ccmSmtpServerFailNotif notification + type: bool + type: dict casa: description: Enable SNMP config casa traps type: bool @@ -409,21 +444,59 @@ entity: description: Enable SNMP entity traps type: bool + entity_diag: + description: Allow SNMP CISCO-ENTITY-DIAG-MIB traps + suboptions: + boot_up_fail: + description: Enable SNMP ceDiagBootUpFailedNotif traps + type: bool + enable: + description: Enable SNMP CISCO-ENTITY-DIAG-MIB traps + type: bool + hm_test_recover: + description: Enable SNMP ceDiagHMTestRecoverNotif traps + type: bool + hm_thresh_reached: + description: Enable SNMP ceDiagHMThresholdReachedNotif traps + type: bool + scheduled_test_fail: + description: Enable SNMP ceDiagScheduledTestFailedNotif traps + type: bool + type: dict + entity_perf: + description: Allow SNMP CISCO-ENTITY-PERFORMANCE-MIB traps + suboptions: + enable: + description: Enable SNMP CISCO-ENTITY-PERFORMANCE-MIB traps + type: bool + throughput_notif: + description: Enable ENTITY PERFORMANCE MIB throughput traps + type: bool + type: dict + entity_state: + description: Enable SNMP ENTITY-STATE-MIB traps + type: bool energywise: description: Enable SNMP energywise traps type: bool envmon: - description: Allow envmon related traps + description: Enable SNMP environmental monitor traps suboptions: + enable: + description: Enable/disable envmon traps + type: bool fan: - description: Enable SNMP envmon fan traps + description: + - Enable SNMP envmon fan traps + - This option is DEPRECATED and is replaced with fan_enable which accepts bool as input + - This attribute will be removed after 2024-09-01 suboptions: - shutdown: - description: Enable SNMP environmental monitor shutdown traps - type: bool enable: description: Enable/disable fan traps type: bool + shutdown: + description: Enable SNMP environmental monitor shutdown traps + type: bool status: description: Enable SNMP environmental status change traps type: bool @@ -434,6 +507,9 @@ description: Enable SNMP environmental monitor temperature traps type: bool type: dict + fan_enable: + description: Enable SNMP envmon fan traps + type: bool shutdown: description: Enable SNMP environmental monitor shutdown traps type: bool @@ -447,6 +523,9 @@ description: Enable SNMP environmental monitor temperature traps type: bool type: dict + errdisable: + description: Enable SNMP errdisable notifications + type: bool ethernet: description: Allow ethernet traps suboptions: @@ -455,7 +534,7 @@ suboptions: alarm: description: Enable SNMP Ethernet CFM fault alarm trap - type: bool + type: bool cc: description: Enable SNMP Ethernet CC trap type: dict @@ -503,12 +582,38 @@ type: bool type: dict type: dict + ether_oam: + description: Enable SNMP ethernet oam traps + type: bool event_manager: description: Enable SNMP event-manager traps type: bool - flowmon: - description: Enable SNMP flowmon traps - type: bool + flash: + description: SNMP FLASH notifications + suboptions: + enable: + description: Enable SNMP FLASH notifications + type: bool + insertion: + description: Enable SNMP Flash Insertion notifications + type: bool + lowspace: + description: Enable SNMP Flash Low Space notifications + type: bool + removal: + description: Enable SNMP Flash Removal notifications + type: bool + type: dict + flex_links: + description: SNMP FLEX Links traps + suboptions: + enable: + description: Enable SNMP FLEX Links traps + type: bool + status: + description: Enable SNMP FLEX Links status change traps + type: bool + type: dict firewall: description: Enable SNMP firewall traps suboptions: @@ -519,6 +624,9 @@ description: Enable firewall server status change trap type: bool type: dict + flowmon: + description: Enable SNMP flowmon traps + type: bool frame_relay: description: Allow frame-relay traps suboptions: @@ -608,6 +716,22 @@ ipsla: description: Enable SNMP ipsla traps type: bool + isis: + description: Enable SNMP isis traps + type: bool + l2tc: + description: Allow SNMP L2 Tunnel Config traps + suboptions: + enable: + description: Enable SNMP L2 Tunnel Config traps + type: bool + sys_threshold: + description: Enable SNMP L2TC System threshold traps + type: bool + threshold: + description: Enable SNMP L2 Tunnel Config threshold traps + type: bool + type: dict l2tun: description: Allow SNMP l2tun traps suboptions: @@ -618,15 +742,243 @@ description: Enable BFD session traps type: bool type: dict + license: + description: Enable license traps + type: bool + lisp: + description: Enable SNMP LISP MIB traps + type: bool + local_auth: + description: Enable SNMP local auth traps + type: bool + mac_notification: + description: Allow SNMP MAC Notification traps + suboptions: + enable: + description: Enable SNMP MAC Notification traps + type: bool + change: + description: Enable SNMP MAC Change traps + type: bool + move: + description: Enable SNMP MAC Move traps + type: bool + threshold: + description: Enable SNMP MAC Threshold traps + type: bool + type: dict + memory: + description: Allow MEMORY traps + suboptions: + enable: + description: Enable MEMORY traps + type: bool + bufferpeak: + description: Enable SNMP Memory Bufferpeak traps + type: bool + type: dict + mpls: + description: Enable SNMP mpls traps + suboptions: + fast_reroute: + description: Allow SNMP MPLS fast reroute traps + suboptions: + enable: + description: Enable SNMP MPLS fast reroute traps + type: bool + protected: + description: Enable MPLS fast reroute protection traps + type: bool + type: dict + ldp: + description: Allow SNMP MPLS label distribution protocol traps + suboptions: + enable: + description: Enable SNMP MPLS label distribution protocol traps + type: bool + pv_limit: + description: Enable MPLS LDP path vector limit mismatch traps + type: bool + session_down: + description: Enable MPLS LDP session down traps + type: bool + session_up: + description: Enable MPLS LDP session up traps + type: bool + threshold: + description: Enable MPLS LDP threshold exceeded traps + type: bool + type: dict + rfc: + description: Enable SNMP MPLS RFC traps + suboptions: + ldp: + description: Allow SNMP MPLS label distribution protocol RFC traps + suboptions: + enable: + description: Enable SNMP MPLS label distribution protocol RFC traps + type: bool + pv_limit: + description: Enable MPLS LDP path vector limit mismatch RFC traps + type: bool + session_down: + description: Enable MPLS LDP session down RFC traps + type: bool + session_up: + description: Enable MPLS LDP session up RFC traps + type: bool + threshold: + description: Enable MPLS LDP threshold exceeded RFC traps + type: bool + type: dict + traffic_eng: + description: Allow SNMP MPLS traffic engineering RFC traps + suboptions: + enable: + description: Enable SNMP MPLS traffic engineering RFC traps + type: bool + down: + description: Enable MPLS TE tunnel down RFC traps + type: bool + reoptimized: + description: Enable MPLS TE tunnel reoptimized RFC traps + type: bool + reroute: + description: Enable MPLS TE tunnel reroute RFC traps + type: bool + up: + description: Enable MPLS TE tunnel up RFC traps + type: bool + type: dict + vpn: + description: Allow SNMP MPLS Virtual Private Network RFC traps + suboptions: + enable: + description: Enable SNMP MPLS Virtual Private Network RFC traps + type: bool + illegal_label: + description: Enable MPLS VPN illegal label threshold exceeded RFC traps + type: bool + max_thresh_cleared: + description: Enable MPLS VPN maximum threshold cleared RFC traps + type: bool + max_threshold: + description: Enable MPLS VPN maximum threshold exceeded RFC traps + type: bool + mid_threshold: + description: Enable MPLS VPN middle threshold exceeded RFC traps + type: bool + vrf_down: + description: Enable MPLS VPN vrf down RFC traps + type: bool + vrf_up: + description: Enable MPLS VPN vrf up RFC traps + type: bool + type: dict + type: dict + traffic_eng: + description: Allow SNMP MPLS traffic engineering traps + suboptions: + enable: + description: Enable SNMP MPLS traffic engineering traps + type: bool + down: + description: Enable MPLS TE tunnel down traps + type: bool + reroute: + description: Enable MPLS TE tunnel reroute traps + type: bool + up: + description: Enable MPLS TE tunnel up traps + type: bool + type: dict + vpn: + description: Allow SNMP MPLS Virtual Private Network traps + suboptions: + enable: + description: Enable SNMP MPLS Virtual Private Network traps + type: bool + illegal_label: + description: Enable MPLS VPN illegal label threshold exceeded traps + type: bool + max_thresh_cleared: + description: Enable MPLS VPN maximum threshold cleared traps + type: bool + max_threshold: + description: Enable MPLS VPN maximum threshold exceeded traps + type: bool + mid_threshold: + description: Enable MPLS VPN middle threshold exceeded traps + type: bool + vrf_down: + description: Enable MPLS VPN vrf down traps + type: bool + vrf_up: + description: Enable MPLS VPN vrf up traps + type: bool + type: dict + type: dict + mpls_vpn: + description: + - Enable SNMP mpls traps + - This option is DEPRECATED and is replaced with mpls which accepts dict as input + - This attribute will be removed after 2024-09-01 + type: bool msdp: description: Enable SNMP msdp traps type: bool mvpn: description: Enable SNMP mvpn traps type: bool - mpls_vpn: - description: Enable SNMP mpls traps - type: bool + nhrp: + description: Allow SNMP NHRP traps + suboptions: + enable: + description: Enable SNMP NHRP traps + type: bool + nhc: + description: Allow Next Hop Client traps + suboptions: + enable: + description: Enable Next Hop Client traps + type: bool + down: + description: Enable Next Hop Client down trap + type: bool + up: + description: Enable Next Hop Client up trap + type: bool + type: dict + nhp: + description: Allow Next Hop Peer traps + suboptions: + enable: + description: Enable Next Hop Peer traps + type: bool + down: + description: Enable Next Hop Peer down trap + type: bool + up: + description: Enable Next Hop Peer up trap + type: bool + type: dict + nhs: + description: Allow Next Hop Server traps + suboptions: + enable: + description: Enable Next Hop Server traps + type: bool + down: + description: Enable Next Hop Server down trap + type: bool + up: + description: Enable Next Hop Server up trap + type: bool + type: dict + quota_exceeded: + description: Enable quota-exceeded trap + type: bool + type: dict ospf: description: Allow ospf related traps suboptions: @@ -673,6 +1025,65 @@ description: Enable/disable state change traps type: bool type: dict + ospfv3: + description: Allow OSPFv3 related traps + suboptions: + errors: + description: Error traps + suboptions: + enable: + description: Enable Error traps + type: bool + bad_packet: + description: Packet parse failure on non-virtual interfaces + type: bool + config_error: + description: Config mismatch errors on non-virtual interfaces + type: bool + virt_bad_packet: + description: Packet parse failure on virtual interfaces + type: bool + virt_config_error: + description: Config mismatch errors on virtual interfaces + type: bool + type: dict + rate_limit: + description: + - Trap rate limit values + - Rate limit window size in seconds (between 2 and 60) + type: int + state_change: + description: State change traps + suboptions: + enable: + description: Enable State change traps + type: bool + if_state_change: + description: Non_virtual interface state changes + type: bool + neighbor_restart_helper_status_change: + description: Neighbor graceful restart helper status changes + type: bool + neighbor_state_change: + description: Non_virtual neighbor state changes + type: bool + nssa_translator_status_change: + description: NSSA translator status changes + type: bool + restart_status_change: + description: Graceful restart status changes + type: bool + virtif_state_change: + description: Virtual interface state changes + type: bool + vn_restart_helper_status_change: + description: Virtual neighbor graceful restart helper status changes + type: bool + vn_state_change: + description: Virtual neighbor state changes + type: bool + type: dict + type: dict pim: description: Allow PIM traps suboptions: @@ -689,34 +1100,58 @@ description: Enable/disable PIM traps type: bool type: dict - vrfmib: - description: Allow vrfmib traps + pki: + description: Enable SNMP pki traps + type: bool + port_security: + description: Enable SNMP port security traps + type: bool + power_ethernet: + description: Allow SNMP power ethernet traps suboptions: - vrf_up: - description: Enable vrf-up trap - type: bool - vrf_down: - description: Enable vrf-down trap - type: bool - vnet_trunk_up: - description: Enable vnet-trunk-up trap + enable: + description: Enable SNMP power ethernet traps type: bool - vnet_trunk_down: - description: Enable vnet-trunk-down traps + group: + description: Enable SNMP inline power group based traps. + suboptions: + slot_id: + description: An integer between 1 and 20 (physical slot number) + type: int + threshold: + description: Threshold level for this slot + type: int + elements: dict + type: list + police: + description: Enable Policing Trap type: bool type: dict - pki: - description: Enable SNMP pki traps + pw_vc: + description: Enable SNMP pw vc traps + type: bool + rep: + description: Enable SNMP Resilient Ethernet Protocol Traps type: bool rsvp: description: Enable SNMP RSVP traps type: bool - isis: - description: Enable SNMP isis traps - type: bool - pw_vc: - description: Enable SNMP pw vc traps + rf: + description: Enable all SNMP traps defined in CISCO-RF-MIB type: bool + smart_license: + description: Allow smart license traps + suboptions: + enable: + description: Enable smart license traps + type: bool + entitlement: + description: Enable Entitlement Notification trap + type: bool + global: + description: Enable Global Notification traps + type: bool + type: dict snmp: description: Enable SNMP traps suboptions: @@ -736,18 +1171,198 @@ description: Enable warmStart trap type: bool type: dict + stackwise: + description: Enable SNMP stackwise traps + type: bool + stpx: + description: Allow SNMP STPX MIB traps + suboptions: + enable: + description: Enable SNMP STPX MIB traps + type: bool + inconsistency: + description: Enable SNMP STPX MIB InconsistencyUpdate traps + type: bool + loop_inconsistency: + description: Enable SNMP STPX MIB LoopInconsistencyUpdate traps + type: bool + root_inconsistency: + description: Enable SNMP STPX MIB RootInconsistencyUpdate traps + type: bool + type: dict syslog: description: Enable SNMP syslog traps type: bool transceiver_all: description: Enable SNMP transceiver traps type: bool + trustsec: + description: Allow SNMP CISCO-TRUSTSEC-MIB traps + suboptions: + authz_file_error: + description: Enable ctsAuthzCacheFileErrNotif notifications + type: bool + cache_file_error: + description: Enable ctsCacheFileAccessErrNotif notifications + type: bool + enable: + description: Enable SNMP CISCO-TRUSTSEC-MIB traps + type: bool + keystore_file_error: + description: Enable ctsSwKeystoreFileErrNotif notifications + type: bool + keystore_sync_fail: + description: Enable ctsSwKeystoreSyncFailNotif notifications + type: bool + random_number_fail: + description: Enable ctsSapRandonNumberFailNotif notifications + type: bool + src_entropy_fail: + description: Enable ctsSrcEntropyFailNotif notifications + type: bool + type: dict + trustsec_interface: + description: Allow SNMP CISCO-TRUSTSEC-INTERFACE-MIB traps + suboptions: + enable: + description: Enable SNMP CISCO-TRUSTSEC-INTERFACE-MIB traps + type: bool + authc_fail: + description: Enable ctsiIfAuthenticationFailNotif trap + type: bool + authz_fail: + description: Enable ctsiAuthorizationFailNotif trap + type: bool + sap_fail: + description: Enable ctsiIfSapNegotiationFailNotif trap + type: bool + supplicant_fail: + description: Enable ctsiIfAddSupplicantFailNotif trap + type: bool + unauthorized: + description: Enable ctsiIfUnauthorizedNotifEnable trap + type: bool + type: dict + trustsec_policy: + description: Allow SNMP CISCO-TRUSTSEC-POLICY-MIB traps + suboptions: + enable: + description: Enable SNMP CISCO-TRUSTSEC-POLICY-MIB traps + type: bool + authz_sgacl_fail: + description: Enable ctspAuthorizationSgaclFailNotif notifications + type: bool + peer_policy_updated: + description: Enable ctspPeerPolicyUpdatedNotif notifications + type: bool + type: dict + trustsec_server: + description: Allow SNMP CISCO-TRUSTSEC-SERVER-MIB traps + suboptions: + enable: + description: Enable SNMP CISCO-TRUSTSEC-SERVER-MIB traps + type: bool + provision_secret: + description: Enable ctsvNoProvisionSecretNotif notification + type: bool + radius_server: + description: Enable ctsvNoRadiusServerNotif notification + type: bool + type: dict + trustsec_sxp: + description: Allow SNMP CISCO-TRUSTSEC-SXP-MIB traps + suboptions: + enable: + description: Enable SNMP CISCO-TRUSTSEC-SXP-MIB traps + type: bool + binding_conflict: + description: Enable ctsxSxpBindingConflictNotif notifications + type: bool + binding_err: + description: Enable ctsxSxpBindingErrNotif notifications + type: bool + binding_expn_fail: + description: Enable ctsxSxpBindingExpnFailNotif notifications + type: bool + conn_config_err: + description: Enable ctsxSxpConnConfigErrNotif notifications + type: bool + conn_down: + description: Enable ctsxSxpConnDownNotif notifications + type: bool + conn_srcaddr_err: + description: Enable ctsxSxpConnSourceAddrErrNotif notifications + type: bool + conn_up: + description: Enable ctsxSxpConnUpNotif notifications + type: bool + msg_parse_err: + description: Enable ctsxSxpMsgParseErrNotif notifications + type: bool + oper_nodeid_change: + description: Enable ctsxSxpOperNodeIdChangeNotif notifications + type: bool + type: dict tty: description: Enable SNMP tty TCP connection traps type: bool + udld: + description: Allow SNMP CISCO-UDLDP-MIB traps + suboptions: + enable: + description: Enable SNMP CISCO-UDLDP-MIB traps + type: bool + link_fail_rpt: + description: Enable SNMP cudldpFastHelloLinkFailRptNotification traps + type: bool + status_change: + description: Enable SNMP cudldpFastHelloStatusChangeNotification traps + type: bool + type: dict + vlan_membership: + description: Enable SNMP VLAN membership traps + type: bool + vlancreate: + description: Enable SNMP VLAN created traps + type: bool + vlandelete: + description: Enable SNMP VLAN deleted traps + type: bool + vrfmib: + description: Allow vrfmib traps + suboptions: + vrf_up: + description: Enable vrf-up trap + type: bool + vrf_down: + description: Enable vrf-down trap + type: bool + vnet_trunk_up: + description: Enable vnet-trunk-up trap + type: bool + vnet_trunk_down: + description: Enable vnet-trunk-down traps + type: bool + type: dict vrrp: description: Enable SNMP vrrp traps type: bool + vswitch: + description: Allow SNMP Virtual Switch notifications + suboptions: + dual_active: + description: Enable SNMP Virtual Switch (Dual Active) notification + type: bool + enable: + description: Enable SNMP Virtual Switch notifications + type: bool + vsl: + description: Enable SNMP Virtual Switch Link (VSL) notification + type: bool + type: dict + vtp: + description: Enable SNMP VTP traps + type: bool type: dict users: description: Define a user who can access the SNMP engine diff --git a/plugins/terminal/ios.py b/plugins/terminal/ios.py index c6abc9e5c..3be46ebfa 100644 --- a/plugins/terminal/ios.py +++ b/plugins/terminal/ios.py @@ -57,6 +57,7 @@ class TerminalModule(TerminalBase): re.compile(rb"% General session commands not allowed under the address family", re.I), re.compile(rb"% BGP: Error initializing topology", re.I), re.compile(rb"%SNMP agent not enabled", re.I), + re.compile(rb"% Invalid", re.I), ] terminal_config_prompt = re.compile(r"^.+\(config(-.*)?\)#$") diff --git a/tests/integration/targets/ios_user/tests/cli/auth.yaml b/tests/integration/targets/ios_user/tests/cli/auth.yaml index 5d42f498e..3cb732e7f 100644 --- a/tests/integration/targets/ios_user/tests/cli/auth.yaml +++ b/tests/integration/targets/ios_user/tests/cli/auth.yaml @@ -37,6 +37,17 @@ ansible.builtin.assert: that: - results.failed + + - name: Test long password fails + cisco.ios.ios_user: + name: auth_user + privilege: 15 + role: network-operator + state: present + configured_password: "{{ 'a' * 128 }}" + register: result_fail + failed_when: "'Invalid Password length' not in result_fail.msg" + always: - name: Reset connection with {{ ansible_user }} ansible.builtin.meta: reset_connection diff --git a/tests/unit/modules/network/ios/test_ios_snmp_server.py b/tests/unit/modules/network/ios/test_ios_snmp_server.py index bdc3229a6..c45f3548a 100644 --- a/tests/unit/modules/network/ios/test_ios_snmp_server.py +++ b/tests/unit/modules/network/ios/test_ios_snmp_server.py @@ -301,7 +301,9 @@ def test_ios_snmp_server_merged_idempotent(self): "ipsla": True, "isis": True, "l2tun": {"pseudowire_status": True, "session": True}, - "mpls_vpn": True, + "mpls": { + "vpn": {"enable": True}, + }, "msdp": True, "mvpn": True, "ospf": { @@ -572,7 +574,9 @@ def test_ios_snmp_server_merged(self): "ipsla": True, "isis": True, "l2tun": {"pseudowire_status": True, "session": True}, - "mpls_vpn": True, + "mpls": { + "vpn": {"enable": True}, + }, "msdp": True, "mvpn": True, "ospf": { @@ -642,7 +646,8 @@ def test_ios_snmp_server_merged(self): "snmp-server trap-source GigabitEthernet0/0", "snmp-server system-shutdown", "snmp-server enable traps bfd", - "snmp-server enable traps bgp cbgp2 state-changes all backward-trans limited threshold prefix", + "snmp-server enable traps bgp cbgp2", + "snmp-server enable traps bgp state-changes all backward-trans limited threshold prefix", "snmp-server enable traps bridge newroot topologychange", "snmp-server enable traps eigrp", "snmp-server enable traps energywise", @@ -677,11 +682,11 @@ def test_ios_snmp_server_merged(self): "snmp-server enable traps l2tun pseudowire status", "snmp-server enable traps l2tun session", "snmp-server enable traps pim neighbor-change rp-mapping-change invalid-pim-message", - "snmp-server enable traps snmp authentication linkdown linkup warmstart coldstart", + "snmp-server enable traps snmp authentication linkdown linkup coldstart warmstart", "snmp-server enable traps frame-relay", "snmp-server enable traps cef resource-failure peer-state-change peer-fib-state-change inconsistency", "snmp-server enable traps dlsw", - "snmp-server enable traps ethernet evc create delete status", + "snmp-server enable traps ethernet evc status create delete", "snmp-server host 172.16.2.1 version 2c trapsac tty", "snmp-server host 172.16.1.1 version 3 auth group0 tty", "snmp-server host 172.16.2.99 check slb", @@ -734,65 +739,109 @@ def test_ios_snmp_server_deleted(self): snmp-server contact this is contact string snmp-server chassis-id this is a chassis id string snmp-server system-shutdown - snmp-server enable traps snmp authentication linkdown linkup coldstart warmstart - snmp-server enable traps flowmon - snmp-server enable traps tty - snmp-server enable traps eigrp - snmp-server enable traps casa - snmp-server enable traps ospf state-change - snmp-server enable traps ospf errors - snmp-server enable traps ospf retransmit - snmp-server enable traps ospf lsa - snmp-server enable traps ospf cisco-specific state-change nssa-trans-change - snmp-server enable traps ospf cisco-specific state-change shamlink interface - snmp-server enable traps ospf cisco-specific state-change shamlink neighbor - snmp-server enable traps ospf cisco-specific errors - snmp-server enable traps ospf cisco-specific retransmit - snmp-server enable traps ospf cisco-specific lsa - snmp-server enable traps ethernet cfm cc mep-up mep-down cross-connect loop config - snmp-server enable traps ethernet cfm crosscheck mep-missing mep-unknown service-up + snmp-server enable traps aaa_server snmp-server enable traps auth-framework sec-violation + snmp-server enable traps bfd + snmp-server enable traps bgp + snmp-server enable traps bgp cbgp2 + snmp-server enable traps bridge newroot topologychange + snmp-server enable traps bulkstat collection transfer + snmp-server enable traps call-home message-send-fail server-fail + snmp-server enable traps cef resource-failure peer-state-change peer-fib-state-change inconsistency + snmp-server enable traps config + snmp-server enable traps config-copy + snmp-server enable traps config-ctid + snmp-server enable traps cpu threshold + snmp-server enable traps dhcp + snmp-server enable traps eigrp snmp-server enable traps energywise - snmp-server enable traps pw vc - snmp-server enable traps l2tun session - snmp-server enable traps l2tun pseudowire status + snmp-server enable traps entity + snmp-server enable traps entity-diag boot-up-fail hm-test-recover hm-thresh-reached scheduled-test-fail + snmp-server enable traps entity-perf throughput-notif + snmp-server enable traps entity-state + snmp-server enable traps envmon fan shutdown supply temperature status + snmp-server enable traps errdisable snmp-server enable traps ether-oam + snmp-server enable traps ethernet cfm alarm + snmp-server enable traps ethernet cfm cc mep-up mep-down cross-connect loop config + snmp-server enable traps ethernet cfm crosscheck mep-missing mep-unknown service-up snmp-server enable traps ethernet evc status create delete - snmp-server enable traps bridge newroot topologychange - snmp-server enable traps vtp + snmp-server enable traps event-manager + snmp-server enable traps flash insertion removal lowspace + snmp-server enable traps flex-links status + snmp-server enable traps flowmon + snmp-server enable traps fru-ctrl + snmp-server enable traps hsrp snmp-server enable traps ike policy add snmp-server enable traps ike policy delete snmp-server enable traps ike tunnel start snmp-server enable traps ike tunnel stop + snmp-server enable traps ipmulticast snmp-server enable traps ipsec cryptomap add - snmp-server enable traps ipsec cryptomap delete snmp-server enable traps ipsec cryptomap attach + snmp-server enable traps ipsec cryptomap delete snmp-server enable traps ipsec cryptomap detach + snmp-server enable traps ipsec too-many-sas snmp-server enable traps ipsec tunnel start snmp-server enable traps ipsec tunnel stop - snmp-server enable traps ipsec too-many-sas - snmp-server enable traps bfd - snmp-server enable traps bgp - snmp-server enable traps bgp cbgp2 - snmp-server enable traps cef resource-failure peer-state-change peer-fib-state-change inconsistency - snmp-server enable traps dlsw - snmp-server enable traps frame-relay - snmp-server enable traps frame-relay subif - snmp-server enable traps hsrp - snmp-server enable traps ipmulticast + snmp-server enable traps ipsla snmp-server enable traps isis + snmp-server enable traps license + snmp-server enable traps l2tc threshold sys-threshold + snmp-server enable traps lisp + snmp-server enable traps local-auth + snmp-server enable traps mac-notification change move threshold + snmp-server enable traps memory bufferpeak + snmp-server enable traps mpls fast-reroute protected + snmp-server enable traps mpls rfc ldp + snmp-server enable traps mpls rfc traffic-eng + snmp-server enable traps mpls rfc vpn + snmp-server enable traps mpls traffic-eng + snmp-server enable traps mpls vpn snmp-server enable traps msdp snmp-server enable traps mvpn + snmp-server enable traps nhrp nhc + snmp-server enable traps nhrp nhp + snmp-server enable traps nhrp nhs + snmp-server enable traps nhrp quota-exceeded + snmp-server enable traps ospf cisco-specific errors + snmp-server enable traps ospf cisco-specific lsa + snmp-server enable traps ospf cisco-specific retransmit + snmp-server enable traps ospf cisco-specific state-change nssa-trans-change + snmp-server enable traps ospf cisco-specific state-change shamlink interface + snmp-server enable traps ospf cisco-specific state-change shamlink neighbor + snmp-server enable traps ospf errors + snmp-server enable traps ospf lsa + snmp-server enable traps ospf retransmit + snmp-server enable traps ospf state-change + snmp-server enable traps ospfv3 errors + snmp-server enable traps ospfv3 state-change snmp-server enable traps pim neighbor-change rp-mapping-change invalid-pim-message - snmp-server enable traps rsvp - snmp-server enable traps ipsla - snmp-server enable traps slb real virtual csrp - snmp-server enable traps syslog - snmp-server enable traps event-manager snmp-server enable traps pki - snmp-server enable traps ethernet cfm alarm - snmp-server enable traps mpls vpn + snmp-server enable traps port-security + snmp-server enable traps power-ethernet police + snmp-server enable traps pw vc + snmp-server enable traps rep + snmp-server enable traps rf + snmp-server enable traps smart-license + snmp-server enable traps snmp authentication linkdown linkup coldstart warmstart + snmp-server enable traps stackwise + snmp-server enable traps stpx inconsistency root-inconsistency loop-inconsistency + snmp-server enable traps syslog + snmp-server enable traps transceiver all + snmp-server enable traps trustsec authz-file-error cache-file-error keystore-file-error keystore-sync-fail random-number-fail src-entropy-fail + snmp-server enable traps trustsec-interface unauthorized sap-fail authc-fail supplicant-fail authz-fail + snmp-server enable traps trustsec-policy peer-policy-updated authz-sgacl-fail + snmp-server enable traps trustsec-server radius-server provision-secret + snmp-server enable traps trustsec-sxp conn-srcaddr-err msg-parse-err conn-config-err binding-err conn-up conn-down binding-expn-fail + snmp-server enable traps tty + snmp-server enable traps udld link-fail-rpt status-change + snmp-server enable traps vlan-membership + snmp-server enable traps vlancreate + snmp-server enable traps vlandelete snmp-server enable traps vrfmib vrf-up vrf-down vnet-trunk-up vnet-trunk-down + snmp-server enable traps vswitch dual-active vsl + snmp-server enable traps vtp snmp-server host 172.16.2.99 informs version 2c check msdp snmp-server host 172.16.2.99 check slb snmp-server host 172.16.2.99 checktrap isis @@ -825,60 +874,109 @@ def test_ios_snmp_server_deleted(self): "no snmp-server source-interface informs Loopback999", "no snmp-server trap-source GigabitEthernet0/0", "no snmp-server system-shutdown", - "no snmp-server enable traps auth-framework", + "no snmp-server enable traps aaa_server", + "no snmp-server enable traps auth-framework sec-violation", "no snmp-server enable traps bfd", "no snmp-server enable traps bgp", + "no snmp-server enable traps bgp cbgp2", "no snmp-server enable traps bridge newroot topologychange", - "no snmp-server enable traps casa", + "no snmp-server enable traps bulkstat collection transfer", + "no snmp-server enable traps call-home message-send-fail server-fail", + "no snmp-server enable traps cef resource-failure peer-state-change peer-fib-state-change inconsistency", + "no snmp-server enable traps config", + "no snmp-server enable traps config-copy", + "no snmp-server enable traps config-ctid", + "no snmp-server enable traps cpu threshold", + "no snmp-server enable traps dhcp", "no snmp-server enable traps eigrp", "no snmp-server enable traps energywise", + "no snmp-server enable traps entity", + "no snmp-server enable traps entity-diag boot-up-fail hm-test-recover hm-thresh-reached scheduled-test-fail", + "no snmp-server enable traps entity-perf throughput-notif", + "no snmp-server enable traps entity-state", + "no snmp-server enable traps envmon fan shutdown supply temperature status", + "no snmp-server enable traps errdisable", + "no snmp-server enable traps ether-oam", + "no snmp-server enable traps ethernet cfm alarm", + "no snmp-server enable traps ethernet cfm cc mep-up mep-down cross-connect loop config", + "no snmp-server enable traps ethernet cfm crosscheck mep-missing mep-unknown service-up", + "no snmp-server enable traps ethernet evc status create delete", "no snmp-server enable traps event-manager", + "no snmp-server enable traps flash insertion removal lowspace", + "no snmp-server enable traps flex-links status", "no snmp-server enable traps flowmon", + "no snmp-server enable traps fru-ctrl", "no snmp-server enable traps hsrp", - "no snmp-server enable traps ipsla", - "no snmp-server enable traps isis", - "no snmp-server enable traps msdp", - "no snmp-server enable traps mvpn", - "no snmp-server enable traps mpls vpn", - "no snmp-server enable traps pki", - "no snmp-server enable traps pw vc", - "no snmp-server enable traps rsvp", - "no snmp-server enable traps syslog", - "no snmp-server enable traps tty", - "no snmp-server enable traps vrfmib vrf-up vrf-down vnet-trunk-up vnet-trunk-down", - "no snmp-server enable traps ipmulticast", "no snmp-server enable traps ike policy add", "no snmp-server enable traps ike policy delete", "no snmp-server enable traps ike tunnel start", "no snmp-server enable traps ike tunnel stop", + "no snmp-server enable traps ipmulticast", "no snmp-server enable traps ipsec cryptomap add", - "no snmp-server enable traps ipsec cryptomap delete", "no snmp-server enable traps ipsec cryptomap attach", + "no snmp-server enable traps ipsec cryptomap delete", "no snmp-server enable traps ipsec cryptomap detach", + "no snmp-server enable traps ipsec too-many-sas", "no snmp-server enable traps ipsec tunnel start", "no snmp-server enable traps ipsec tunnel stop", - "no snmp-server enable traps ipsec too-many-sas", + "no snmp-server enable traps ipsla", + "no snmp-server enable traps isis", + "no snmp-server enable traps license", + "no snmp-server enable traps l2tc threshold sys-threshold", + "no snmp-server enable traps lisp", + "no snmp-server enable traps local-auth", + "no snmp-server enable traps mac-notification change move threshold", + "no snmp-server enable traps memory bufferpeak", + "no snmp-server enable traps mpls fast-reroute protected", + "no snmp-server enable traps mpls rfc ldp", + "no snmp-server enable traps mpls rfc traffic-eng", + "no snmp-server enable traps mpls rfc vpn", + "no snmp-server enable traps mpls traffic-eng", + "no snmp-server enable traps mpls vpn", + "no snmp-server enable traps msdp", + "no snmp-server enable traps mvpn", + "no snmp-server enable traps nhrp nhc", + "no snmp-server enable traps nhrp nhp", + "no snmp-server enable traps nhrp nhs", + "no snmp-server enable traps nhrp quota-exceeded", "no snmp-server enable traps ospf cisco-specific errors", - "no snmp-server enable traps ospf cisco-specific retransmit", "no snmp-server enable traps ospf cisco-specific lsa", + "no snmp-server enable traps ospf cisco-specific retransmit", "no snmp-server enable traps ospf cisco-specific state-change nssa-trans-change", "no snmp-server enable traps ospf cisco-specific state-change shamlink interface", "no snmp-server enable traps ospf cisco-specific state-change shamlink neighbor", "no snmp-server enable traps ospf errors", - "no snmp-server enable traps ospf retransmit", "no snmp-server enable traps ospf lsa", + "no snmp-server enable traps ospf retransmit", "no snmp-server enable traps ospf state-change", - "no snmp-server enable traps l2tun pseudowire status", - "no snmp-server enable traps l2tun session", + "no snmp-server enable traps ospfv3 errors", + "no snmp-server enable traps ospfv3 state-change", "no snmp-server enable traps pim neighbor-change rp-mapping-change invalid-pim-message", - "no snmp-server enable traps snmp authentication linkdown linkup warmstart coldstart", - "no snmp-server enable traps frame-relay", - "no snmp-server enable traps cef resource-failure peer-state-change peer-fib-state-change inconsistency", - "no snmp-server enable traps dlsw", - "no snmp-server enable traps ethernet evc create delete status", - "no snmp-server enable traps ethernet cfm alarm", - "no snmp-server enable traps ethernet cfm cc mep-up mep-down cross-connect loop config", - "no snmp-server enable traps ethernet cfm crosscheck mep-missing mep-unknown service-up", + "no snmp-server enable traps pki", + "no snmp-server enable traps port-security", + "no snmp-server enable traps power-ethernet police", + "no snmp-server enable traps pw vc", + "no snmp-server enable traps rep", + "no snmp-server enable traps rf", + "no snmp-server enable traps smart-license", + "no snmp-server enable traps snmp authentication linkdown linkup coldstart warmstart", + "no snmp-server enable traps stackwise", + "no snmp-server enable traps stpx inconsistency root-inconsistency loop-inconsistency", + "no snmp-server enable traps syslog", + "no snmp-server enable traps transceiver all", + "no snmp-server enable traps trustsec authz-file-error cache-file-error keystore-file-error keystore-sync-fail random-number-fail src-entropy-fail", + "no snmp-server enable traps trustsec-interface unauthorized sap-fail authc-fail supplicant-fail authz-fail", + "no snmp-server enable traps trustsec-policy peer-policy-updated authz-sgacl-fail", + "no snmp-server enable traps trustsec-server radius-server provision-secret", + "no snmp-server enable traps trustsec-sxp conn-srcaddr-err msg-parse-err conn-config-err binding-err conn-up conn-down binding-expn-fail", + "no snmp-server enable traps tty", + "no snmp-server enable traps udld link-fail-rpt status-change", + "no snmp-server enable traps vlan-membership", + "no snmp-server enable traps vlancreate", + "no snmp-server enable traps vlandelete", + "no snmp-server enable traps vrfmib vrf-up vrf-down vnet-trunk-up vnet-trunk-down", + "no snmp-server enable traps vswitch dual-active vsl", + "no snmp-server enable traps vtp", "no snmp-server host 172.16.1.1 version 3 auth group0 tty", "no snmp-server host 172.16.2.1 version 3 priv newtera rsrb", "no snmp-server host 172.16.2.1 version 3 noauth replaceUser slb", @@ -1084,7 +1182,7 @@ def test_ios_snmp_server_overridden(self): "trap_source": "GigabitEthernet0/0", "trap_timeout": 2, "traps": { - "auth_framework": {"enable": True}, + "auth_framework": {"enable": True, "sec_violation": True}, "bfd": {"enable": True}, "bgp": {"cbgp2": True, "enable": True}, "bridge": {"enable": True, "newroot": True, "topologychange": True}, @@ -1134,7 +1232,9 @@ def test_ios_snmp_server_overridden(self): "ipsla": True, "isis": True, "l2tun": {"pseudowire_status": True, "session": True}, - "mpls_vpn": True, + "mpls": { + "vpn": {"enable": True}, + }, "msdp": True, "mvpn": True, "ospf": { @@ -1229,6 +1329,7 @@ def test_ios_snmp_server_overridden(self): "snmp-server password-policy policy2 define min-len 12 upper-case 12 special-char 22 change 9", "snmp-server user paul familypaul v3 access ipv6 ipv6acl", "snmp-server view newView TestFamilyName included", + "no snmp-server enable traps vtp", "no snmp-server view test-view! test-test included", ] playbook["state"] = "overridden" @@ -1335,10 +1436,11 @@ def test_ios_snmp_server_parsed(self): }, }, "envmon": { + "enable": True, "status": True, "supply": True, "temperature": True, - "fan": {"supply": True, "temperature": True}, + "fan_enable": True, }, "ethernet": { "cfm": {