cisco_node_utils_mgx 2.1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +10 -0
- data/.rspec +2 -0
- data/.rubocop.yml +96 -0
- data/.travis.yml +17 -0
- data/CHANGELOG.md +676 -0
- data/CONTRIBUTING.md +43 -0
- data/Gemfile +10 -0
- data/LICENSE +201 -0
- data/README.md +246 -0
- data/Rakefile +44 -0
- data/SUPPORT.md +3 -0
- data/bin/.rubocop.yml +18 -0
- data/bin/check_metric_limits.rb +109 -0
- data/bin/git/hooks/commit-msg/enforce_style +89 -0
- data/bin/git/hooks/hook_lib +115 -0
- data/bin/git/hooks/hooks-wrapper +38 -0
- data/bin/git/hooks/post-flow-hotfix-start/update-version +24 -0
- data/bin/git/hooks/post-flow-release-finish/update-version +29 -0
- data/bin/git/hooks/post-flow-release-start/update-version +19 -0
- data/bin/git/hooks/post-merge/update-hooks +6 -0
- data/bin/git/hooks/post-rewrite/update-hooks +6 -0
- data/bin/git/hooks/pre-commit/check_unstaged_changes +18 -0
- data/bin/git/hooks/pre-commit/rubocop +25 -0
- data/bin/git/hooks/pre-commit/validate-diffs +45 -0
- data/bin/git/hooks/pre-commit/validate-yaml +18 -0
- data/bin/git/hooks/pre-push/check-changelog +24 -0
- data/bin/git/hooks/pre-push/rubocop +7 -0
- data/bin/git/update-hooks +123 -0
- data/bin/show_running_yang.rb +233 -0
- data/cisco_node_utils.gemspec +41 -0
- data/docs/README-develop-best-practices.md +521 -0
- data/docs/README-develop-node-utils-APIs.md +570 -0
- data/docs/README-maintainers.md +77 -0
- data/docs/README-test-execution.md +57 -0
- data/docs/README-utilities.md +14 -0
- data/docs/agent_files.png +0 -0
- data/docs/cisco_node_utils.yaml.example +36 -0
- data/docs/template-router.rb +123 -0
- data/docs/template-test_router.rb +104 -0
- data/ext/mkrf_conf.rb +63 -0
- data/lib/.rubocop.yml +18 -0
- data/lib/cisco_node_utils/aaa_authentication_login.rb +95 -0
- data/lib/cisco_node_utils/aaa_authentication_login_service.rb +138 -0
- data/lib/cisco_node_utils/aaa_authorization_service.rb +156 -0
- data/lib/cisco_node_utils/ace.rb +467 -0
- data/lib/cisco_node_utils/acl.rb +101 -0
- data/lib/cisco_node_utils/banner.rb +63 -0
- data/lib/cisco_node_utils/bfd_global.rb +305 -0
- data/lib/cisco_node_utils/bgp.rb +988 -0
- data/lib/cisco_node_utils/bgp_af.rb +545 -0
- data/lib/cisco_node_utils/bgp_af_aggr_addr.rb +207 -0
- data/lib/cisco_node_utils/bgp_neighbor.rb +527 -0
- data/lib/cisco_node_utils/bgp_neighbor_af.rb +780 -0
- data/lib/cisco_node_utils/bridge_domain.rb +178 -0
- data/lib/cisco_node_utils/bridge_domain_vni.rb +206 -0
- data/lib/cisco_node_utils/cisco_cmn_utils.rb +444 -0
- data/lib/cisco_node_utils/client/client.rb +238 -0
- data/lib/cisco_node_utils/client/grpc/client.rb +395 -0
- data/lib/cisco_node_utils/client/grpc/ems.proto +148 -0
- data/lib/cisco_node_utils/client/grpc/ems.rb +111 -0
- data/lib/cisco_node_utils/client/grpc/ems_services.rb +49 -0
- data/lib/cisco_node_utils/client/grpc.rb +33 -0
- data/lib/cisco_node_utils/client/nxapi/client.rb +368 -0
- data/lib/cisco_node_utils/client/nxapi.rb +31 -0
- data/lib/cisco_node_utils/client/utils.rb +180 -0
- data/lib/cisco_node_utils/client.rb +35 -0
- data/lib/cisco_node_utils/cmd_ref/README_YAML.md +590 -0
- data/lib/cisco_node_utils/cmd_ref/aaa_auth_login_service.yaml +25 -0
- data/lib/cisco_node_utils/cmd_ref/aaa_authentication_login.yaml +38 -0
- data/lib/cisco_node_utils/cmd_ref/aaa_authorization_service.yaml +40 -0
- data/lib/cisco_node_utils/cmd_ref/acl.yaml +48 -0
- data/lib/cisco_node_utils/cmd_ref/banner.yaml +11 -0
- data/lib/cisco_node_utils/cmd_ref/bfd_global.yaml +117 -0
- data/lib/cisco_node_utils/cmd_ref/bgp.yaml +383 -0
- data/lib/cisco_node_utils/cmd_ref/bgp_af.yaml +223 -0
- data/lib/cisco_node_utils/cmd_ref/bgp_af_aa.yaml +38 -0
- data/lib/cisco_node_utils/cmd_ref/bgp_neighbor.yaml +174 -0
- data/lib/cisco_node_utils/cmd_ref/bgp_neighbor_af.yaml +236 -0
- data/lib/cisco_node_utils/cmd_ref/bridge_domain.yaml +49 -0
- data/lib/cisco_node_utils/cmd_ref/bridge_domain_vni.yaml +33 -0
- data/lib/cisco_node_utils/cmd_ref/dhcp_relay_global.yaml +128 -0
- data/lib/cisco_node_utils/cmd_ref/dnsclient.yaml +55 -0
- data/lib/cisco_node_utils/cmd_ref/encapsulation.yaml +25 -0
- data/lib/cisco_node_utils/cmd_ref/evpn_multicast.yaml +12 -0
- data/lib/cisco_node_utils/cmd_ref/evpn_multisite.yaml +18 -0
- data/lib/cisco_node_utils/cmd_ref/evpn_stormcontrol.yaml +18 -0
- data/lib/cisco_node_utils/cmd_ref/evpn_vni.yaml +48 -0
- data/lib/cisco_node_utils/cmd_ref/fabricpath.yaml +183 -0
- data/lib/cisco_node_utils/cmd_ref/fabricpath_topology.yaml +40 -0
- data/lib/cisco_node_utils/cmd_ref/feature.yaml +126 -0
- data/lib/cisco_node_utils/cmd_ref/hostname.yaml +8 -0
- data/lib/cisco_node_utils/cmd_ref/hsrp_global.yaml +25 -0
- data/lib/cisco_node_utils/cmd_ref/images.yaml +8 -0
- data/lib/cisco_node_utils/cmd_ref/interface.yaml +781 -0
- data/lib/cisco_node_utils/cmd_ref/interface_channel_group.yaml +45 -0
- data/lib/cisco_node_utils/cmd_ref/interface_evpn_multisite.yaml +17 -0
- data/lib/cisco_node_utils/cmd_ref/interface_hsrp_group.yaml +120 -0
- data/lib/cisco_node_utils/cmd_ref/interface_ospf.yaml +112 -0
- data/lib/cisco_node_utils/cmd_ref/interface_portchannel.yaml +87 -0
- data/lib/cisco_node_utils/cmd_ref/interface_service_vni.yaml +42 -0
- data/lib/cisco_node_utils/cmd_ref/inventory.yaml +45 -0
- data/lib/cisco_node_utils/cmd_ref/ip_multicast.yaml +22 -0
- data/lib/cisco_node_utils/cmd_ref/itd_device_group.yaml +83 -0
- data/lib/cisco_node_utils/cmd_ref/itd_service.yaml +119 -0
- data/lib/cisco_node_utils/cmd_ref/memory.yaml +24 -0
- data/lib/cisco_node_utils/cmd_ref/ntp_auth_key.yaml +10 -0
- data/lib/cisco_node_utils/cmd_ref/ntp_config.yaml +27 -0
- data/lib/cisco_node_utils/cmd_ref/ntp_server.yaml +34 -0
- data/lib/cisco_node_utils/cmd_ref/object_group.yaml +32 -0
- data/lib/cisco_node_utils/cmd_ref/ospf.yaml +91 -0
- data/lib/cisco_node_utils/cmd_ref/ospf_area.yaml +91 -0
- data/lib/cisco_node_utils/cmd_ref/ospf_area_vlink.yaml +88 -0
- data/lib/cisco_node_utils/cmd_ref/overlay_global.yaml +37 -0
- data/lib/cisco_node_utils/cmd_ref/pim.yaml +43 -0
- data/lib/cisco_node_utils/cmd_ref/portchannel_global.yaml +86 -0
- data/lib/cisco_node_utils/cmd_ref/radius_global.yaml +37 -0
- data/lib/cisco_node_utils/cmd_ref/radius_server.yaml +100 -0
- data/lib/cisco_node_utils/cmd_ref/radius_server_group.yaml +19 -0
- data/lib/cisco_node_utils/cmd_ref/route_map.yaml +601 -0
- data/lib/cisco_node_utils/cmd_ref/show_system.yaml +9 -0
- data/lib/cisco_node_utils/cmd_ref/show_version.yaml +84 -0
- data/lib/cisco_node_utils/cmd_ref/snmp_community.yaml +81 -0
- data/lib/cisco_node_utils/cmd_ref/snmp_group.yaml +9 -0
- data/lib/cisco_node_utils/cmd_ref/snmp_notification_receiver.yaml +74 -0
- data/lib/cisco_node_utils/cmd_ref/snmp_server.yaml +91 -0
- data/lib/cisco_node_utils/cmd_ref/snmp_user.yaml +57 -0
- data/lib/cisco_node_utils/cmd_ref/snmpnotification.yaml +23 -0
- data/lib/cisco_node_utils/cmd_ref/span_session.yaml +65 -0
- data/lib/cisco_node_utils/cmd_ref/stp_global.yaml +235 -0
- data/lib/cisco_node_utils/cmd_ref/syslog_facility.yaml +10 -0
- data/lib/cisco_node_utils/cmd_ref/syslog_server.yaml +34 -0
- data/lib/cisco_node_utils/cmd_ref/syslog_settings.yaml +45 -0
- data/lib/cisco_node_utils/cmd_ref/system.yaml +7 -0
- data/lib/cisco_node_utils/cmd_ref/tacacs_global.yaml +37 -0
- data/lib/cisco_node_utils/cmd_ref/tacacs_server.yaml +63 -0
- data/lib/cisco_node_utils/cmd_ref/tacacs_server_group.yaml +45 -0
- data/lib/cisco_node_utils/cmd_ref/tacacs_server_host.yaml +64 -0
- data/lib/cisco_node_utils/cmd_ref/upgrade.yaml +38 -0
- data/lib/cisco_node_utils/cmd_ref/vdc.yaml +52 -0
- data/lib/cisco_node_utils/cmd_ref/virtual_service.yaml +8 -0
- data/lib/cisco_node_utils/cmd_ref/vlan.yaml +106 -0
- data/lib/cisco_node_utils/cmd_ref/vpc.yaml +233 -0
- data/lib/cisco_node_utils/cmd_ref/vrf.yaml +86 -0
- data/lib/cisco_node_utils/cmd_ref/vrf_af.yaml +139 -0
- data/lib/cisco_node_utils/cmd_ref/vtp.yaml +32 -0
- data/lib/cisco_node_utils/cmd_ref/vxlan_vtep.yaml +114 -0
- data/lib/cisco_node_utils/cmd_ref/vxlan_vtep_vni.yaml +71 -0
- data/lib/cisco_node_utils/cmd_ref/yang.yaml +7 -0
- data/lib/cisco_node_utils/cmd_ref/yum.yaml +68 -0
- data/lib/cisco_node_utils/command_reference.rb +724 -0
- data/lib/cisco_node_utils/configparser_lib.rb +195 -0
- data/lib/cisco_node_utils/constants.rb +40 -0
- data/lib/cisco_node_utils/dhcp_relay_global.rb +302 -0
- data/lib/cisco_node_utils/dns_domain.rb +93 -0
- data/lib/cisco_node_utils/domain_name.rb +82 -0
- data/lib/cisco_node_utils/encapsulation.rb +112 -0
- data/lib/cisco_node_utils/environment.rb +110 -0
- data/lib/cisco_node_utils/evpn_multicast.rb +66 -0
- data/lib/cisco_node_utils/evpn_multisite.rb +96 -0
- data/lib/cisco_node_utils/evpn_stormcontrol.rb +84 -0
- data/lib/cisco_node_utils/evpn_vni.rb +159 -0
- data/lib/cisco_node_utils/exceptions.rb +140 -0
- data/lib/cisco_node_utils/fabricpath_global.rb +405 -0
- data/lib/cisco_node_utils/fabricpath_topology.rb +137 -0
- data/lib/cisco_node_utils/feature.rb +377 -0
- data/lib/cisco_node_utils/hostname.rb +62 -0
- data/lib/cisco_node_utils/hsrp_global.rb +97 -0
- data/lib/cisco_node_utils/interface.rb +2128 -0
- data/lib/cisco_node_utils/interface_channel_group.rb +142 -0
- data/lib/cisco_node_utils/interface_evpn_multisite.rb +72 -0
- data/lib/cisco_node_utils/interface_hsrp_group.rb +557 -0
- data/lib/cisco_node_utils/interface_ospf.rb +378 -0
- data/lib/cisco_node_utils/interface_portchannel.rb +180 -0
- data/lib/cisco_node_utils/interface_service_vni.rb +132 -0
- data/lib/cisco_node_utils/ip_multicast.rb +90 -0
- data/lib/cisco_node_utils/itd_device_group.rb +228 -0
- data/lib/cisco_node_utils/itd_device_group_node.rb +144 -0
- data/lib/cisco_node_utils/itd_service.rb +511 -0
- data/lib/cisco_node_utils/logger.rb +78 -0
- data/lib/cisco_node_utils/name_server.rb +64 -0
- data/lib/cisco_node_utils/node.rb +443 -0
- data/lib/cisco_node_utils/node_util.rb +111 -0
- data/lib/cisco_node_utils/ntp_auth_key.rb +67 -0
- data/lib/cisco_node_utils/ntp_config.rb +83 -0
- data/lib/cisco_node_utils/ntp_server.rb +86 -0
- data/lib/cisco_node_utils/object_group.rb +75 -0
- data/lib/cisco_node_utils/object_group_entry.rb +143 -0
- data/lib/cisco_node_utils/overlay_global.rb +142 -0
- data/lib/cisco_node_utils/pim.rb +131 -0
- data/lib/cisco_node_utils/pim_group_list.rb +109 -0
- data/lib/cisco_node_utils/pim_rp_address.rb +103 -0
- data/lib/cisco_node_utils/platform.rb +217 -0
- data/lib/cisco_node_utils/portchannel_global.rb +347 -0
- data/lib/cisco_node_utils/radius_global.rb +165 -0
- data/lib/cisco_node_utils/radius_server.rb +421 -0
- data/lib/cisco_node_utils/radius_server_group.rb +117 -0
- data/lib/cisco_node_utils/route_map.rb +2540 -0
- data/lib/cisco_node_utils/router_ospf.rb +77 -0
- data/lib/cisco_node_utils/router_ospf_area.rb +416 -0
- data/lib/cisco_node_utils/router_ospf_area_vlink.rb +313 -0
- data/lib/cisco_node_utils/router_ospf_vrf.rb +342 -0
- data/lib/cisco_node_utils/snmp_notification_receiver.rb +176 -0
- data/lib/cisco_node_utils/snmpcommunity.rb +109 -0
- data/lib/cisco_node_utils/snmpgroup.rb +54 -0
- data/lib/cisco_node_utils/snmpnotification.rb +57 -0
- data/lib/cisco_node_utils/snmpserver.rb +132 -0
- data/lib/cisco_node_utils/snmpuser.rb +403 -0
- data/lib/cisco_node_utils/span_session.rb +149 -0
- data/lib/cisco_node_utils/stp_global.rb +676 -0
- data/lib/cisco_node_utils/syslog_facility.rb +64 -0
- data/lib/cisco_node_utils/syslog_server.rb +146 -0
- data/lib/cisco_node_utils/syslog_settings.rb +174 -0
- data/lib/cisco_node_utils/tacacs_global.rb +137 -0
- data/lib/cisco_node_utils/tacacs_server.rb +173 -0
- data/lib/cisco_node_utils/tacacs_server_group.rb +149 -0
- data/lib/cisco_node_utils/tacacs_server_host.rb +216 -0
- data/lib/cisco_node_utils/upgrade.rb +122 -0
- data/lib/cisco_node_utils/vdc.rb +118 -0
- data/lib/cisco_node_utils/version.rb +21 -0
- data/lib/cisco_node_utils/vlan.rb +301 -0
- data/lib/cisco_node_utils/vpc.rb +466 -0
- data/lib/cisco_node_utils/vrf.rb +192 -0
- data/lib/cisco_node_utils/vrf_af.rb +327 -0
- data/lib/cisco_node_utils/vtp.rb +125 -0
- data/lib/cisco_node_utils/vxlan_vtep.rb +286 -0
- data/lib/cisco_node_utils/vxlan_vtep_vni.rb +331 -0
- data/lib/cisco_node_utils/yang.rb +160 -0
- data/lib/cisco_node_utils/yum.rb +213 -0
- data/lib/cisco_node_utils.rb +21 -0
- data/lib/minitest/environment_plugin.rb +31 -0
- data/lib/minitest/log_level_plugin.rb +41 -0
- data/spec/client_spec.rb +7 -0
- data/spec/environment_spec.rb +384 -0
- data/spec/grpc_client_spec.rb +23 -0
- data/spec/isolate/all_clients_spec.rb +9 -0
- data/spec/isolate/grpc_only_spec.rb +16 -0
- data/spec/isolate/no_clients_spec.rb +26 -0
- data/spec/isolate/nxapi_only_spec.rb +16 -0
- data/spec/nxapi_client_spec.rb +42 -0
- data/spec/schema.yaml +82 -0
- data/spec/shared_examples_for_clients.rb +14 -0
- data/spec/spec_helper.rb +91 -0
- data/spec/whitespace_spec.rb +10 -0
- data/spec/yaml_spec.rb +42 -0
- data/tests/.rubocop.yml +18 -0
- data/tests/CSCuxdublin-1.0.0-7.0.3.I3.1.lib32_n9000.rpm +0 -0
- data/tests/basetest.rb +243 -0
- data/tests/ciscotest.rb +577 -0
- data/tests/cmd_config.yaml +75 -0
- data/tests/cmd_config_invalid.yaml +16 -0
- data/tests/n9000_sample-1.0.0-7.0.3.x86_64.rpm +0 -0
- data/tests/noop.rb +7 -0
- data/tests/platform_info.rb +63 -0
- data/tests/tacacs_server.yaml.example +6 -0
- data/tests/test_aaa_authentication_login.rb +243 -0
- data/tests/test_aaa_authentication_login_service.rb +761 -0
- data/tests/test_aaa_authorization_service.rb +874 -0
- data/tests/test_ace.rb +304 -0
- data/tests/test_acl.rb +185 -0
- data/tests/test_banner.rb +85 -0
- data/tests/test_bfd_global.rb +272 -0
- data/tests/test_bgp_af.rb +875 -0
- data/tests/test_bgp_af_aa.rb +108 -0
- data/tests/test_bgp_neighbor.rb +596 -0
- data/tests/test_bgp_neighbor_af.rb +781 -0
- data/tests/test_bridge_domain.rb +198 -0
- data/tests/test_bridge_domain_vni.rb +109 -0
- data/tests/test_client_utils.rb +111 -0
- data/tests/test_cmn_utils.rb +76 -0
- data/tests/test_command_config.rb +206 -0
- data/tests/test_command_reference.rb +669 -0
- data/tests/test_dhcp_relay_global.rb +286 -0
- data/tests/test_dns_domain.rb +123 -0
- data/tests/test_domain_name.rb +96 -0
- data/tests/test_encapsulation.rb +75 -0
- data/tests/test_evpn_multicast.rb +65 -0
- data/tests/test_evpn_multisite.rb +70 -0
- data/tests/test_evpn_stormcontrol.rb +56 -0
- data/tests/test_evpn_vni.rb +131 -0
- data/tests/test_fabricpath_global.rb +246 -0
- data/tests/test_fabricpath_topology.rb +77 -0
- data/tests/test_feature.rb +272 -0
- data/tests/test_grpc.rb +166 -0
- data/tests/test_hostname.rb +64 -0
- data/tests/test_hsrp_global.rb +79 -0
- data/tests/test_interface.rb +1958 -0
- data/tests/test_interface_bdi.rb +80 -0
- data/tests/test_interface_channel_group.rb +131 -0
- data/tests/test_interface_evpn_multisite.rb +94 -0
- data/tests/test_interface_hsrp.rb +134 -0
- data/tests/test_interface_hsrp_group.rb +570 -0
- data/tests/test_interface_ospf.rb +820 -0
- data/tests/test_interface_portchannel.rb +135 -0
- data/tests/test_interface_private_vlan.rb +365 -0
- data/tests/test_interface_service_vni.rb +203 -0
- data/tests/test_interface_svi.rb +210 -0
- data/tests/test_interface_switchport.rb +468 -0
- data/tests/test_ip_multicast.rb +80 -0
- data/tests/test_itd_device_group.rb +145 -0
- data/tests/test_itd_device_group_node.rb +199 -0
- data/tests/test_itd_service.rb +314 -0
- data/tests/test_logger.rb +43 -0
- data/tests/test_name_server.rb +94 -0
- data/tests/test_node.rb +50 -0
- data/tests/test_node_ext.rb +406 -0
- data/tests/test_node_util.rb +119 -0
- data/tests/test_ntp_auth_key.rb +77 -0
- data/tests/test_ntp_config.rb +100 -0
- data/tests/test_ntp_server.rb +146 -0
- data/tests/test_nxapi.rb +236 -0
- data/tests/test_object_group.rb +122 -0
- data/tests/test_overlay_global.rb +108 -0
- data/tests/test_pim.rb +203 -0
- data/tests/test_pim_group_list.rb +147 -0
- data/tests/test_pim_rp_address.rb +155 -0
- data/tests/test_platform.rb +254 -0
- data/tests/test_portchannel_global.rb +322 -0
- data/tests/test_radius_global.rb +108 -0
- data/tests/test_radius_server.rb +377 -0
- data/tests/test_radius_server_group.rb +151 -0
- data/tests/test_route_map.rb +1479 -0
- data/tests/test_router_bgp.rb +1325 -0
- data/tests/test_router_ospf.rb +56 -0
- data/tests/test_router_ospf_area.rb +433 -0
- data/tests/test_router_ospf_area_vlink.rb +298 -0
- data/tests/test_router_ospf_vrf.rb +690 -0
- data/tests/test_snmp_notification_receiver.rb +169 -0
- data/tests/test_snmpcommunity.rb +422 -0
- data/tests/test_snmpgroup.rb +71 -0
- data/tests/test_snmpnotification.rb +91 -0
- data/tests/test_snmpserver.rb +251 -0
- data/tests/test_snmpuser.rb +666 -0
- data/tests/test_span_session.rb +155 -0
- data/tests/test_stp_global.rb +575 -0
- data/tests/test_syslog_facility.rb +80 -0
- data/tests/test_syslog_server.rb +119 -0
- data/tests/test_syslog_settings.rb +123 -0
- data/tests/test_tacacs_global.rb +109 -0
- data/tests/test_tacacs_server.rb +436 -0
- data/tests/test_tacacs_server_group.rb +434 -0
- data/tests/test_tacacs_server_host.rb +427 -0
- data/tests/test_upgrade.rb +105 -0
- data/tests/test_vdc.rb +64 -0
- data/tests/test_vlan.rb +386 -0
- data/tests/test_vlan_private.rb +656 -0
- data/tests/test_vpc.rb +548 -0
- data/tests/test_vrf.rb +248 -0
- data/tests/test_vrf_af.rb +288 -0
- data/tests/test_vtp.rb +278 -0
- data/tests/test_vxlan_vtep.rb +327 -0
- data/tests/test_vxlan_vtep_vni.rb +326 -0
- data/tests/test_yang.rb +369 -0
- data/tests/test_yum.rb +109 -0
- data/tests/upgrade_info.yaml.example +3 -0
- data/tests/yum_package.yaml +94 -0
- metadata +534 -0
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
# November 2015, Jonathan Tripathy
|
|
2
|
+
#
|
|
3
|
+
# Copyright (c) 2014-2016 Cisco and/or its affiliates.
|
|
4
|
+
#
|
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
# you may not use this file except in compliance with the License.
|
|
7
|
+
# You may obtain a copy of the License at
|
|
8
|
+
#
|
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
#
|
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
# See the License for the specific language governing permissions and
|
|
15
|
+
# limitations under the License.
|
|
16
|
+
|
|
17
|
+
require_relative 'node_util'
|
|
18
|
+
|
|
19
|
+
module Cisco
|
|
20
|
+
# SnmpNotificationReceiver - node utility class for SNMP server management
|
|
21
|
+
class SnmpNotificationReceiver < NodeUtil
|
|
22
|
+
attr_reader :name
|
|
23
|
+
|
|
24
|
+
def initialize(name, # rubocop:disable CyclomaticComplexity, MethodLength, PerceivedComplexity, LineLength, AbcSize
|
|
25
|
+
instantiate: true,
|
|
26
|
+
type: '',
|
|
27
|
+
version: '',
|
|
28
|
+
security: '',
|
|
29
|
+
username: '',
|
|
30
|
+
port: '',
|
|
31
|
+
vrf: '',
|
|
32
|
+
source_interface: '')
|
|
33
|
+
|
|
34
|
+
fail TypeError unless name.is_a?(String)
|
|
35
|
+
@name = name
|
|
36
|
+
|
|
37
|
+
fail TypeError unless type.is_a?(String)
|
|
38
|
+
|
|
39
|
+
fail TypeError unless version.is_a?(String) || version.is_a?(Integer)
|
|
40
|
+
|
|
41
|
+
fail TypeError unless security.is_a?(String)
|
|
42
|
+
|
|
43
|
+
fail TypeError unless username.is_a?(String)
|
|
44
|
+
|
|
45
|
+
fail TypeError unless port.is_a?(String) || port.is_a?(Integer)
|
|
46
|
+
|
|
47
|
+
fail TypeError unless vrf.is_a?(String)
|
|
48
|
+
|
|
49
|
+
fail TypeError unless source_interface.is_a?(String)
|
|
50
|
+
|
|
51
|
+
return unless instantiate
|
|
52
|
+
|
|
53
|
+
# Mandatory Properties
|
|
54
|
+
fail TypeError unless name.length > 0
|
|
55
|
+
fail TypeError unless type.length > 0
|
|
56
|
+
|
|
57
|
+
if version.is_a?(Integer)
|
|
58
|
+
fail TypeError if version <= 0
|
|
59
|
+
else
|
|
60
|
+
fail TypeError if version.length <= 0
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
fail TypeError unless username.length > 0
|
|
64
|
+
|
|
65
|
+
config_set('snmp_notification_receiver',
|
|
66
|
+
'receivers',
|
|
67
|
+
state: '',
|
|
68
|
+
ip: name,
|
|
69
|
+
type: type,
|
|
70
|
+
version: version.empty? ? '' : "version #{version}",
|
|
71
|
+
security: security,
|
|
72
|
+
username: username,
|
|
73
|
+
udp_port: port.empty? ? '' : "udp-port #{port}")
|
|
74
|
+
|
|
75
|
+
unless source_interface.empty?
|
|
76
|
+
config_set('snmp_notification_receiver',
|
|
77
|
+
'source_interface',
|
|
78
|
+
ip: name,
|
|
79
|
+
source_interface: source_interface,
|
|
80
|
+
port: port.empty? ? '' : "udp-port #{port}")
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
return if vrf.empty?
|
|
84
|
+
if platform == :nexus
|
|
85
|
+
config_set('snmp_notification_receiver',
|
|
86
|
+
'vrf',
|
|
87
|
+
ip: name,
|
|
88
|
+
vrf: vrf,
|
|
89
|
+
port: port.empty? ? '' : "udp-port #{port}")
|
|
90
|
+
else
|
|
91
|
+
config_set('snmp_notification_receiver',
|
|
92
|
+
'vrf',
|
|
93
|
+
vrf: vrf,
|
|
94
|
+
ip: name,
|
|
95
|
+
username: username)
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
def self.receivers
|
|
100
|
+
hash = {}
|
|
101
|
+
|
|
102
|
+
receivers_list = config_get('snmp_notification_receiver', 'receivers')
|
|
103
|
+
return hash if receivers_list.nil?
|
|
104
|
+
|
|
105
|
+
receivers_list.each do |arr|
|
|
106
|
+
next if !arr.is_a?(Array) || arr.empty?
|
|
107
|
+
id = arr[0]
|
|
108
|
+
hash[id] = SnmpNotificationReceiver.new(id, instantiate: false)
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
hash
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
def ==(other)
|
|
115
|
+
name == other.name
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
def destroy
|
|
119
|
+
config_set('snmp_notification_receiver',
|
|
120
|
+
'receivers',
|
|
121
|
+
state: 'no',
|
|
122
|
+
ip: name,
|
|
123
|
+
type: type,
|
|
124
|
+
version: version.nil? ? '' : "version #{version}",
|
|
125
|
+
security: security.nil? ? '' : "#{security}",
|
|
126
|
+
username: username,
|
|
127
|
+
udp_port: port.nil? ? '' : "udp-port #{port}")
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
def port
|
|
131
|
+
config_get('snmp_notification_receiver', 'port', @name)
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
def username
|
|
135
|
+
if !port.nil?
|
|
136
|
+
endpoint = 'username_with_port'
|
|
137
|
+
else
|
|
138
|
+
endpoint = 'username'
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
config_get('snmp_notification_receiver', endpoint, @name)
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
def version
|
|
145
|
+
config_get('snmp_notification_receiver', 'version', @name)
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
def type
|
|
149
|
+
config_get('snmp_notification_receiver', 'type', @name)
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
def security
|
|
153
|
+
config_get('snmp_notification_receiver', 'security', @name)
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
def vrf
|
|
157
|
+
if platform == :nexus
|
|
158
|
+
config_get('snmp_notification_receiver', 'vrf', @name)
|
|
159
|
+
else
|
|
160
|
+
# get all vrf
|
|
161
|
+
all_vrf = config_get('snmp_notification_receiver', 'vrf_all')
|
|
162
|
+
all_vrf.each do |vrf|
|
|
163
|
+
vrf_list = config_get('snmp_notification_receiver', 'vrf_values', vrf: vrf) # rubocop:disable Metrics/LineLength
|
|
164
|
+
# if vrf contains @name return vrf
|
|
165
|
+
return vrf if vrf_list.include?(@name)
|
|
166
|
+
end
|
|
167
|
+
end
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
def source_interface
|
|
171
|
+
val = config_get('snmp_notification_receiver', 'source_interface', @name)
|
|
172
|
+
val = val.downcase unless val.nil?
|
|
173
|
+
val
|
|
174
|
+
end
|
|
175
|
+
end
|
|
176
|
+
end
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# December 2014, Alex Hunsberger
|
|
2
|
+
#
|
|
3
|
+
# Copyright (c) 2014-2016 Cisco and/or its affiliates.
|
|
4
|
+
#
|
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
# you may not use this file except in compliance with the License.
|
|
7
|
+
# You may obtain a copy of the License at
|
|
8
|
+
#
|
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
#
|
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
# See the License for the specific language governing permissions and
|
|
15
|
+
# limitations under the License.
|
|
16
|
+
|
|
17
|
+
require_relative 'node_util'
|
|
18
|
+
|
|
19
|
+
module Cisco
|
|
20
|
+
# SnmpCommunity - node utility class for SNMP community config management
|
|
21
|
+
class SnmpCommunity < NodeUtil
|
|
22
|
+
@communities = nil
|
|
23
|
+
|
|
24
|
+
def initialize(name, group, instantiate=true)
|
|
25
|
+
fail TypeError unless name.is_a?(String)
|
|
26
|
+
fail TypeError unless group.is_a?(String)
|
|
27
|
+
@name = name
|
|
28
|
+
return unless instantiate
|
|
29
|
+
if platform == :nexus
|
|
30
|
+
config_set('snmp_community', 'community',
|
|
31
|
+
state: '',
|
|
32
|
+
name: @name,
|
|
33
|
+
group: group)
|
|
34
|
+
else
|
|
35
|
+
config_set('snmp_community', 'community',
|
|
36
|
+
state: '',
|
|
37
|
+
name: @name)
|
|
38
|
+
# create the mapping for group
|
|
39
|
+
config_set('snmp_community', 'group_simple', state: '', group: group)
|
|
40
|
+
config_set('snmp_community', 'group_community_mapping', name: @name, group: group) # rubocop:disable Metrics/LineLength
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def self.communities
|
|
45
|
+
@communities = {}
|
|
46
|
+
comms = config_get('snmp_community', 'all_communities')
|
|
47
|
+
unless comms.nil?
|
|
48
|
+
comms.each do |comm|
|
|
49
|
+
@communities[comm] = SnmpCommunity.new(comm, '', false)
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
@communities
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def destroy
|
|
56
|
+
# CLI requires specifying a group even for "no" commands
|
|
57
|
+
config_set('snmp_community', 'community',
|
|
58
|
+
state: 'no',
|
|
59
|
+
name: @name,
|
|
60
|
+
group: 'null')
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# name is read only
|
|
64
|
+
# def name
|
|
65
|
+
# @name
|
|
66
|
+
# end
|
|
67
|
+
|
|
68
|
+
def group
|
|
69
|
+
if platform == :nexus
|
|
70
|
+
config_get('snmp_community', 'group', name: @name)
|
|
71
|
+
else
|
|
72
|
+
config_get('snmp_community', 'group_community_mapping', name: @name)
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
def group=(group)
|
|
77
|
+
fail TypeError unless group.is_a?(String)
|
|
78
|
+
if platform == :nexus
|
|
79
|
+
config_set('snmp_community', 'group', name: @name, group: group)
|
|
80
|
+
else
|
|
81
|
+
# create the mapping
|
|
82
|
+
config_set('snmp_community', 'group_simple', group: group)
|
|
83
|
+
config_set('snmp_community', 'group_community_mapping', name: @name, group: group) # rubocop:disable Metrics/LineLength
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
def self.default_group
|
|
88
|
+
config_get_default('snmp_community', 'group')
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
def acl
|
|
92
|
+
config_get('snmp_community', 'acl', name: @name)
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
def acl=(acl)
|
|
96
|
+
fail TypeError unless acl.is_a?(String)
|
|
97
|
+
if acl.empty?
|
|
98
|
+
acl = self.acl
|
|
99
|
+
config_set('snmp_community', 'acl', state: 'no', name: @name, acl: acl) unless acl.empty? # rubocop:disable Metrics/LineLength
|
|
100
|
+
else
|
|
101
|
+
config_set('snmp_community', 'acl', state: '', name: @name, acl: acl)
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
def self.default_acl
|
|
106
|
+
config_get_default('snmp_community', 'acl')
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
end
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
#
|
|
2
|
+
# NXAPI implementation of SnmpGroup class
|
|
3
|
+
#
|
|
4
|
+
# February 2015, Chris Van Heuveln
|
|
5
|
+
#
|
|
6
|
+
# Copyright (c) 2015-2016 Cisco and/or its affiliates.
|
|
7
|
+
#
|
|
8
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
9
|
+
# you may not use this file except in compliance with the License.
|
|
10
|
+
# You may obtain a copy of the License at
|
|
11
|
+
#
|
|
12
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
13
|
+
#
|
|
14
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
15
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
16
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
17
|
+
# See the License for the specific language governing permissions and
|
|
18
|
+
# limitations under the License.
|
|
19
|
+
#
|
|
20
|
+
# "group" is a standard SNMP term but in NXOS "role" is used to serve the
|
|
21
|
+
# purpose of group; thus this provider utility does not create snmp groups
|
|
22
|
+
# and is limited to reporting group (role) existence only.
|
|
23
|
+
|
|
24
|
+
require_relative 'node_util'
|
|
25
|
+
|
|
26
|
+
module Cisco
|
|
27
|
+
# SnmpGroup - node utility class for SNMP group configuration management
|
|
28
|
+
class SnmpGroup < NodeUtil
|
|
29
|
+
attr_reader :name
|
|
30
|
+
|
|
31
|
+
def initialize(name)
|
|
32
|
+
fail TypeError unless name.is_a?(String)
|
|
33
|
+
@name = name
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def self.groups
|
|
37
|
+
group_ids = config_get('snmp_group', 'group')
|
|
38
|
+
return {} if group_ids.nil?
|
|
39
|
+
|
|
40
|
+
hash = {}
|
|
41
|
+
group_ids.each do |name|
|
|
42
|
+
hash[name] = SnmpGroup.new(name)
|
|
43
|
+
end
|
|
44
|
+
hash
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def self.exists?(group)
|
|
48
|
+
fail ArgumentError if group.empty?
|
|
49
|
+
fail TypeError unless group.is_a? String
|
|
50
|
+
groups = config_get('snmp_group', 'group')
|
|
51
|
+
(!groups.nil? && groups.include?(group))
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# December 2015
|
|
2
|
+
#
|
|
3
|
+
# Copyright (c) 2014-2016 Cisco and/or its affiliates.
|
|
4
|
+
#
|
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
# you may not use this file except in compliance with the License.
|
|
7
|
+
# You may obtain a copy of the License at
|
|
8
|
+
#
|
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
#
|
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
# See the License for the specific language governing permissions and
|
|
15
|
+
# limitations under the License.
|
|
16
|
+
|
|
17
|
+
require_relative 'node_util'
|
|
18
|
+
|
|
19
|
+
module Cisco
|
|
20
|
+
# SnmpNotification - node utility class for SNMP notification management
|
|
21
|
+
class SnmpNotification < NodeUtil
|
|
22
|
+
def initialize(name)
|
|
23
|
+
fail TypeError unless name.is_a?(String)
|
|
24
|
+
@name = name
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def self.notifications
|
|
28
|
+
@notifications = {}
|
|
29
|
+
notifs = config_get('snmpnotification', 'notifications')
|
|
30
|
+
unless notifs.nil?
|
|
31
|
+
notifs.each do |notif|
|
|
32
|
+
@notifications[notif] = SnmpNotification.new(notif)
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
@notifications
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def destroy
|
|
39
|
+
# not needed
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# Set enable
|
|
43
|
+
def enable=(enable)
|
|
44
|
+
config_set('snmpnotification',
|
|
45
|
+
'enable',
|
|
46
|
+
state: enable ? '' : 'no',
|
|
47
|
+
trap_name: @name)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# Get enable
|
|
51
|
+
def enable
|
|
52
|
+
value = config_get('snmpnotification', 'enable', trap_name: @name)
|
|
53
|
+
enabled = value.nil? ? false : true
|
|
54
|
+
enabled
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# November 2014, Alex Hunsberger
|
|
2
|
+
#
|
|
3
|
+
# Copyright (c) 2014-2016 Cisco and/or its affiliates.
|
|
4
|
+
#
|
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
# you may not use this file except in compliance with the License.
|
|
7
|
+
# You may obtain a copy of the License at
|
|
8
|
+
#
|
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
#
|
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
# See the License for the specific language governing permissions and
|
|
15
|
+
# limitations under the License.
|
|
16
|
+
|
|
17
|
+
require_relative 'node_util'
|
|
18
|
+
|
|
19
|
+
module Cisco
|
|
20
|
+
# SnmpServer - node utility class for SNMP server management
|
|
21
|
+
class SnmpServer < NodeUtil
|
|
22
|
+
def aaa_user_cache_timeout
|
|
23
|
+
config_get('snmp_server', 'aaa_user_cache_timeout')
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def aaa_user_cache_timeout=(timeout)
|
|
27
|
+
config_set('snmp_server', 'aaa_user_cache_timeout', '', timeout)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def default_aaa_user_cache_timeout
|
|
31
|
+
config_get_default('snmp_server', 'aaa_user_cache_timeout')
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def location
|
|
35
|
+
match = config_get('snmp_server', 'location')
|
|
36
|
+
match.nil? ? default_location : match
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def location=(location)
|
|
40
|
+
fail TypeError unless location.is_a?(String)
|
|
41
|
+
if location.empty?
|
|
42
|
+
config_set('snmp_server', 'location', state: 'no', location: '')
|
|
43
|
+
else
|
|
44
|
+
config_set('snmp_server', 'location', state: '', location: location)
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def default_location
|
|
49
|
+
config_get_default('snmp_server', 'location')
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def contact
|
|
53
|
+
match = config_get('snmp_server', 'contact')
|
|
54
|
+
match.nil? ? default_contact : match
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def contact=(contact)
|
|
58
|
+
fail TypeError unless contact.is_a?(String)
|
|
59
|
+
if contact.empty?
|
|
60
|
+
config_set('snmp_server', 'contact', state: 'no', contact: '')
|
|
61
|
+
else
|
|
62
|
+
config_set('snmp_server', 'contact', state: '', contact: contact)
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def default_contact
|
|
67
|
+
config_get_default('snmp_server', 'contact')
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
def packet_size
|
|
71
|
+
config_get('snmp_server', 'packet_size')
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
def packet_size=(size)
|
|
75
|
+
if size == 0
|
|
76
|
+
ps = packet_size
|
|
77
|
+
config_set('snmp_server', 'packet_size', 'no', ps) unless ps == 0
|
|
78
|
+
else
|
|
79
|
+
config_set('snmp_server', 'packet_size', '', size)
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
def default_packet_size
|
|
84
|
+
config_get_default('snmp_server', 'packet_size')
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
def global_enforce_priv?
|
|
88
|
+
config_get('snmp_server', 'global_enforce_priv')
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
def global_enforce_priv=(enforce)
|
|
92
|
+
if enforce
|
|
93
|
+
config_set('snmp_server', 'global_enforce_priv', '')
|
|
94
|
+
else
|
|
95
|
+
config_set('snmp_server', 'global_enforce_priv', 'no')
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
def default_global_enforce_priv
|
|
100
|
+
config_get_default('snmp_server', 'global_enforce_priv')
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
def protocol?
|
|
104
|
+
config_get('snmp_server', 'protocol')
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
def protocol=(enable)
|
|
108
|
+
no_cmd = (enable ? '' : 'no')
|
|
109
|
+
config_set('snmp_server', 'protocol', no_cmd)
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
def default_protocol
|
|
113
|
+
config_get_default('snmp_server', 'protocol')
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
def tcp_session_auth?
|
|
117
|
+
config_get('snmp_server', 'tcp_session_auth')
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
def tcp_session_auth=(enable)
|
|
121
|
+
if enable
|
|
122
|
+
config_set('snmp_server', 'tcp_session_auth', '', 'auth')
|
|
123
|
+
else
|
|
124
|
+
config_set('snmp_server', 'tcp_session_auth', 'no', '')
|
|
125
|
+
end
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
def default_tcp_session_auth
|
|
129
|
+
config_get_default('snmp_server', 'tcp_session_auth')
|
|
130
|
+
end
|
|
131
|
+
end
|
|
132
|
+
end
|