cisco.nxos.nxos_snmp_server 模块 – SNMP 服务器资源模块。

注意

此模块是 cisco.nxos 集合(版本 9.2.1)的一部分。

如果您使用的是 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install cisco.nxos

要在 playbook 中使用它,请指定:cisco.nxos.nxos_snmp_server

cisco.nxos 2.8.0 中的新增功能

概要

  • 此模块管理运行 Cisco NX-OS 的设备上的 SNMP 服务器配置。

参数

参数

注释

config

字典

SNMP 服务器配置的字典

aaa_user

字典

设置 aaa 缓存的 snmp 用户存在的持续时间。

cache_timeout

整数

aaa 缓存的用户存在的超时时间(以秒为单位)。

communities

列表 / 元素=字典

设置 community 字符串和访问权限。

group

字符串

community 所属的组。

name

别名:community

字符串

SNMP community 字符串(最大大小 32)。

ro

布尔值

使用此 community 字符串的只读访问权限。

选择

  • false

  • true

rw

布尔值

使用此 community 字符串的读写访问权限。

选择

  • false

  • true

use_ipv4acl

字符串

指定 IPv4 ACL,指定的 ACL 名称必须是 IPv4 ACL。

MDS 交换机不支持此选项。

use_ipv6acl

字符串

指定 IPv6 ACL,之后指定的 ACL 名称必须是 IPv6 ACL。

MDS 交换机不支持此选项。

contact

字符串

修改 sysContact。

context

字典

要映射的 SNMP 上下文。

instance

字符串

协议实例的名称(最大大小 32)。

name

字符串

SNMP 上下文的名称(最大大小 32)。

topology

字符串

与 SNMP 上下文关联的拓扑。

vrf

字符串

与 SNMP 上下文关联的 VRF。

MDS 交换机不支持此选项。

counter

字典

配置端口计数器配置。

MDS 交换机不支持此选项。

cache

字典

端口统计缓存。

enable

布尔值

启用端口统计缓存。

选择

  • false

  • true

timeout

整数

缓存的端口统计存在的超时时间(以秒为单位)。

drop

字典

静默丢弃未知 v3 用户数据包。

MDS 交换机不支持此选项。

unknown_engine_id

布尔值

未知 v3 引擎 ID。

选择

  • false

  • true

unknown_user

布尔值

未知 v3 用户。

选择

  • false

  • true

engine_id

字典

配置本地 SNMPv3 引擎 ID。

MDS 交换机不支持此选项。

local

字符串

本地代理的 EngineID。

global_enforce_priv

布尔值

全局强制所有用户的隐私。

选择

  • false

  • true

hosts

列表 / 元素=字典

指定接收 SNMP 通知的主机。

必须将单独出现在 running-config 中的 SNMP 主机配置行添加为单独的字典。

auth

字符串

使用 SNMPv3 authNoPriv 安全级别。

community

字符串

SNMP community 字符串或 SNMPv3 用户名(最大大小 32)。

filter_vrf

字符串

基于配置的 VRF 将通知过滤到通知主机接收器。

MDS 交换机不支持此选项。

host

字符串

SNMP 通知主机的 IPv4 或 IPv6 地址或 DNS 名称。

informs

布尔值

向此主机发送 Inform 消息。

选择

  • false

  • true

priv

字符串

使用 SNMPv3 authPriv 安全级别。

source_interface

字符串

用于向此主机发送 SNMP 通知的源接口。

traps

布尔值

向此主机发送 Trap 消息。

选择

  • false

  • true

udp_port

整数

通知主机的 UDP 端口号。

use_vrf

字符串

配置 SNMP 以使用选定的 VRF 与主机接收器通信。

MDS 交换机不支持此选项。

version

字符串

用于通知消息的 SNMP 版本。

选择

  • "1"

  • "2c"

  • "3"

location

字符串

修改 sysLocation。

mib

字典

Mib 访问参数。

community_map

字典

SNMP community。

community

字符串

SNMP community 字符串(最大大小 32)。

context

字符串

SNMP 上下文的名称(最大大小 32)。

packetsize

整数

最大的 SNMP 数据包大小

protocol

字典

Snmp 协议操作。

enable

布尔值

启用/禁用 snmp 协议操作。

选择

  • false

  • true

source_interface

字典

用于发送 SNMP 通知的源接口。

MDS 交换机不支持此选项。

informs

字符串

需要使用此源接口的 SNMP Inform 通知。

traps

字符串

需要使用此源接口的 SNMP Trap 通知。

system_shutdown

布尔值

配置用于重新加载(2)的 snmp-server。

选择

  • false

  • true

tcp_session

字典

为通过 tcp 会话的 snmp 启用一次性身份验证。

auth

布尔值

为通过 tcp 会话的 snmp 启用一次性身份验证。

选择

  • false

  • true

enable

布尔值

启用 tcp 会话。

MDS 交换机不支持此选项。

选择

  • false

  • true

traps

字典

启用 SNMP Trap

aaa

字典

AAA Trap

enable

布尔值

启用 AAA Trap。

选择

  • false

  • true

server_state_change

布尔值

AAA 服务器状态更改通知。

选择

  • false

  • true

bgp

字典

SNMP BGP Trap。

enable

布尔值

启用 SNMP BGP Trap。

选择

  • false

  • true

bridge

字典

Bridge Trap。

MDS 交换机不支持此选项。

enable

布尔值

启用 Bridge Trap。

选择

  • false

  • true

newroot

布尔值

启用 SNMP STP Bridge MIB newroot Trap。

选择

  • false

  • true

topologychange

布尔值

启用 SNMP STP Bridge MIB topologychange Trap。

选择

  • false

  • true

callhome

字典

Callhome Trap。

enable

布尔值

启用 callhome Trap。

MDS 交换机不支持此选项。

选择

  • false

  • true

event_notify

布尔值

Callhome 外部事件通知。

选择

  • false

  • true

smtp_send_fail

布尔值

SMTP 消息发送失败通知。

选择

  • false

  • true

cfs

字典

CFS Trap。

enable

布尔值

启用 cfs Trap。

MDS 交换机不支持此选项。

选择

  • false

  • true

merge_failure

布尔值

合并失败通知。

选择

  • false

  • true

state_change_notif

布尔值

状态更改通知。

选择

  • false

  • true

config

字典

配置 Trap。

ccmCLIRunningConfigChanged

布尔值

运行配置更改 Trap。

选择

  • false

  • true

enable

布尔值

启用配置 Trap。

MDS 交换机不支持此选项。

选择

  • false

  • true

entity

字典

实体 Trap。

cefcMIBEnableStatusNotification

布尔值

CefcMIBEnableStatusNotification。

选择

  • false

  • true

enable

布尔值

启用实体 Trap。

选择

  • false

  • true

entity_fan_status_change

布尔值

实体风扇状态更改。

选择

  • false

  • true

entity_mib_change

布尔值

实体 MIB 更改。

选择

  • false

  • true

entity_module_inserted

布尔值

实体模块已插入。

选择

  • false

  • true

entity_module_removed

布尔值

实体模块已删除。

选择

  • false

  • true

entity_module_status_change

布尔值

实体模块状态更改。

选择

  • false

  • true

entity_power_out_change

布尔值

实体电源输出更改。

选择

  • false

  • true

entity_power_status_change

布尔值

实体电源状态更改。

选择

  • false

  • true

entity_sensor

布尔值

实体传感器。

选择

  • false

  • true

entity_unrecognised_module

布尔值

实体无法识别的模块。

选择

  • false

  • true

feature_control

字典

功能控制 Trap。

ciscoFeatOpStatusChange

布尔值

功能操作状态更改通知。

选择

  • false

  • true

enable

布尔值

启用功能控制 Trap。

MDS 交换机不支持此选项。

选择

  • false

  • true

featureOpStatusChange

布尔值

功能操作状态更改通知。

选择

  • false

  • true

generic

字典

通用 Trap。

coldStart

布尔值

通用 coldStart Trap。

选择

  • false

  • true

enable

布尔值

启用通用 Trap。

MDS 交换机不支持此选项。

选择

  • false

  • true

warmStart

布尔值

通用 warmStart Trap。

选择

  • false

  • true

license

字典

许可证 Trap。

enable

布尔值

启用许可证 Trap。

MDS 交换机不支持此选项。

选择

  • false

  • true

notify_license_expiry

布尔值

许可证到期通知。

选择

  • false

  • true

notify_license_expiry_warning

布尔值

许可证到期警告通知。

选择

  • false

  • true

notify_licensefile_missing

布尔值

许可证文件丢失通知。

选择

  • false

  • true

notify_no_license_for_feature

布尔值

未为功能安装许可证通知。

选择

  • false

  • true

字典

链接 Trap。

布尔值

错误禁用状态通知。

MDS 交换机不支持此选项。

选择

  • false

  • true

布尔值

Cisco 扩展链路状态关闭通知。

选择

  • false

  • true

布尔值

Cisco 扩展链路状态开启通知。

选择

  • false

  • true

布尔值

Cisco 接口收发器监控状态更改通知。

选择

  • false

  • true

布尔值

Mac 地址移动陷阱。

MDS 交换机不支持此选项。

选择

  • false

  • true

布尔值

延迟链路状态更改。

选择

  • false

  • true

布尔值

启用链路陷阱。

MDS 交换机不支持此选项。

选择

  • false

  • true

布尔值

IETF 扩展链路状态关闭通知。

选择

  • false

  • true

布尔值

IETF 扩展链路状态开启通知。

选择

  • false

  • true

布尔值

IETF 链路状态关闭通知。

选择

  • false

  • true

布尔值

IETF 链路状态开启通知。

选择

  • false

  • true

mmode

字典

MMode 陷阱。

MDS 交换机不支持此选项。

cseMaintModeChangeNotify

布尔值

维护模式更改通知。

选择

  • false

  • true

cseNormalModeChangeNotify

布尔值

正常模式更改通知。

选择

  • false

  • true

enable

布尔值

启用 mmode 陷阱。

选择

  • false

  • true

ospf

字典

SNMP OSPF 陷阱。

enable

布尔值

启用 SNMP OSPF 陷阱。

选择

  • false

  • true

ospfv3

字典

SNMP OSPFv3 陷阱。

enable

布尔值

启用 SNMP OSPFv3 陷阱。

选择

  • false

  • true

rf

字典

RF 陷阱。

enable

布尔值

启用 rf 陷阱。

MDS 交换机不支持此选项。

选择

  • false

  • true

redundancy_framework

布尔值

冗余框架 (RF) Sup 切换 MIB。

选择

  • false

  • true

rmon

字典

RMON 陷阱。

enable

布尔值

启用 rmon 陷阱。

MDS 交换机不支持此选项。

选择

  • false

  • true

fallingAlarm

布尔值

Rmon 下降告警。

选择

  • false

  • true

hcFallingAlarm

布尔值

高容量 Rmon 下降告警。

选择

  • false

  • true

hcRisingAlarm

布尔值

高容量 Rmon 上升告警。

选择

  • false

  • true

risingAlarm

布尔值

Rmon 上升告警。

选择

  • false

  • true

snmp

字典

SNMP 陷阱。

authentication

布尔值

SNMP 身份验证陷阱。

选择

  • false

  • true

enable

布尔值

启用 snmp 陷阱。

MDS 交换机不支持此选项。

选择

  • false

  • true

storm_control

字典

风暴控制陷阱。

cpscEventRev1

布尔值

端口风暴控制事件。

MDS 交换机不支持此选项。

选择

  • false

  • true

enable

布尔值

启用风暴控制陷阱。

MDS 交换机不支持此选项。

选择

  • false

  • true

trap_rate

布尔值

每分钟的陷阱数量。

选择

  • false

  • true

stpx

字典

Stpx 陷阱。

MDS 交换机不支持此选项。

enable

布尔值

启用 stpx 陷阱。

选择

  • false

  • true

inconsistency

布尔值

启用 SNMP STPX MIB InconsistencyUpdate 陷阱。

选择

  • false

  • true

loop_inconsistency

布尔值

启用 SNMP STPX MIB LoopInconsistencyUpdate 陷阱。

选择

  • false

  • true

root_inconsistency

布尔值

启用 SNMP STPX MIB RootInconsistencyUpdate 陷阱。

选择

  • false

  • true

syslog

字典

启用 syslog 陷阱。

enable

布尔值

启用 syslog 陷阱。

MDS 交换机不支持此选项。

选择

  • false

  • true

message_generated

布尔值

消息生成通知。

选择

  • false

  • true

sysmgr

字典

Sysmgr 陷阱。

cseFailSwCoreNotifyExtended

布尔值

软件核心通知。

选择

  • false

  • true

enable

布尔值

启用 sysmgr 陷阱。

MDS 交换机不支持此选项。

选择

  • false

  • true

system

字典

系统陷阱。

clock_change_notification

布尔值

时钟更改通知陷阱。

选择

  • false

  • true

enable

布尔值

启用系统陷阱。

MDS 交换机不支持此选项。

选择

  • false

  • true

upgrade

字典

升级陷阱。

enable

布尔值

启用升级陷阱。

MDS 交换机不支持此选项。

选择

  • false

  • true

upgradeJobStatusNotify

布尔值

升级作业状态通知。

选择

  • false

  • true

upgradeOpNotifyOnCompletion

布尔值

升级全局状态通知。

选择

  • false

  • true

vtp

字典

VTP 陷阱。

MDS 交换机不支持此选项。

enable

布尔值

启用 VTP 陷阱。

选择

  • false

  • true

notifs

布尔值

启用 vtpConfigRevNumberError vtpConfigDigestEnable vtpConfigRevNumberError vtpConfigDigestError vtpServerDisabled vtpVersionOneDeviceDetected vlanTrunkPortDynamicStatusChange vtpLocalModeChanged vtpVersionInUseChanged 通知。

选择

  • false

  • true

vlancreate

布尔值

启用 vtpVlanCreated 通知。

选择

  • false

  • true

vlandelete

布尔值

启用 vtpVlanDeleted 通知。

选择

  • false

  • true

users

字典

定义可以访问 SNMP 引擎的用户。

auth

列表 / 元素=字典

SNMP 用户身份验证相关设置

authentication

字典

用户的身份验证参数。

algorithm

字符串

选择身份验证算法。

选择

  • "md5"

  • "sha"

  • "sha-256"

engine_id

字符串

用于配置 notif 目标用户的 EngineID(用于 V3 informs)。

此值需要在任务中用引号括起来。

localized_key

布尔值

指定密码是否为本地化密钥格式。

选择

  • false

  • true

localizedv2_key

布尔值

指定密码是否为本地化 V2 密钥格式。

选择

  • false

  • true

password

字符串

用户的身份验证密码(最大大小 127)。

如果此值已本地化,则必须在任务中用引号括起来。

priv

字典

用户的加密参数。

aes_128

布尔值

使用 128 位 AES 算法进行隐私保护。

选择

  • false

  • true

privacy_password

字符串

用户的隐私密码(最大大小 130)。

如果此值已本地化,则必须在任务中用引号括起来。

group

字符串

组名(对于 notif 目标用户将被忽略)(最大大小 28)。

user

字符串

用户名(最大大小 28)。

use_acls

列表 / 元素=字典

设置要使用的 IPv4 和 IPv6 ACL。

ipv4

字符串

指定 IPv4 ACL,之后指定的 ACL 名称必须为 IPv4 ACL。

ipv6

字符串

指定 IPv6 ACL,之后指定的 ACL 名称必须是 IPv6 ACL。

user

字符串

用户名(最大大小 28)。

running_config

字符串

此选项仅用于状态 *parsed*。

此选项的值应为通过执行命令 **show running-config | section ‘^snmp-server’** 从 NX-OS 设备收到的输出。

状态 *parsed* 从 running_config 选项读取配置,并根据资源模块的 argspec 将其转换为 Ansible 结构化数据,然后该值将在结果中的 *parsed* 键中返回。

state

字符串

配置应保留的状态。

状态 replacedoverridden 对于此模块具有相同的行为。

请参阅示例以了解更多详细信息。

选择

  • "merged" ← (默认)

  • "replaced"

  • "overridden"

  • "deleted"

  • "parsed"

  • "gathered"

  • "rendered"

备注

注意

  • 在 Cisco Nexus 交换机上针对 NX-OS 9.3.6 进行了测试。

  • 此模块适用于连接 network_clihttpapi

  • 在连接 network_cli 的 Cisco MDS NX-OS 9.2(2) 上进行了测试。

示例

# Using merged

# Before state:
# -------------
# nxos-9k-rdo# show running-config | section "^snmp-server"
# snmp-server user admin network-admin auth md5 0xcbde46b02c46e0bcd3ac5af6a8b13da9 priv 0xcbde46b02c46e0bcd3ac5af6a8b13da9 localizedkey

- name: Merge the provided configuration with the existing running configuration
  cisco.nxos.nxos_snmp_server:
    config:
      aaa_user:
        cache_timeout: 36000
      communities:
        - community: public
          group: network-operator
        - community: private
          group: network-admin
      contact: nxosswitchadmin@localhost
      location: serverroom-1
      traps:
        aaa:
          server_state_change: true
        system:
          clock_change_notification: true
      hosts:
        - host: 192.0.2.1
          traps: true
          version: '1'
          community: public
        - host: 192.0.2.1
          source_interface: Ethernet1/1
        - host: 192.0.2.2
          informs: true
          version: '3'
          auth: NMS
      users:
        auth:
          - user: snmp_user_1
            group: network-operator
            authentication:
              algorithm: md5
              password: '0x5632724fb8ac3699296af26281e1d0f1'
              localized_key: true
          - user: snmp_user_2
            group: network-operator
            authentication:
              algorithm: md5
              password: '0x5632724fb8ac3699296af26281e1d0f1'
              localized_key: true
              priv:
                privacy_password: '0x5632724fb8ac3699296af26281e1d0f1'
                aes_128: true
        use_acls:
          - user: snmp_user_1
            ipv4: acl1
            ipv6: acl2
          - user: snmp_user_2
            ipv4: acl3
            ipv6: acl4

# Task output
# -------------
# before:
#   users:
#     auth:
#       - user: admin
#         group: network-admin
#         authentication:
#           algorithm: md5
#           password: "0xcbde46b02c46e0bcd3ac5af6a8b13da9"
#           localized_key: true
#           priv:
#             privacy_password: "0xcbde46b02c46e0bcd3ac5af6a8b13da9"
#
# commands:
#   - snmp-server contact nxosswitchadmin@localhost
#   - snmp-server location serverroom-1
#   - snmp-server aaa-user cache-timeout 36000
#   - snmp-server user snmp_user_1 network-operator auth md5 0x5632724fb8ac3699296af26281e1d0f1 localizedkey
#   - snmp-server user snmp_user_2 network-operator auth md5 0x5632724fb8ac3699296af26281e1d0f1 priv aes-128 0x5632724fb8ac3699296af26281e1d0f1 localizedkey
#   - snmp-server user snmp_user_1 use-ipv4acl acl1 use-ipv6acl acl2
#   - snmp-server user snmp_user_2 use-ipv4acl acl3 use-ipv6acl acl4
#   - snmp-server host 192.0.2.1 traps version 1 public
#   - snmp-server host 192.0.2.1 source-interface Ethernet1/1
#   - snmp-server host 192.0.2.2 informs version 3 auth NMS
#   - snmp-server community private group network-admin
#   - snmp-server community public group network-operator
#   - snmp-server enable traps aaa server-state-change
#   - snmp-server enable traps system Clock-change-notification
#
# after:
#   aaa_user:
#      cache_timeout: 36000
#    communities:
#      - community: private
#        group: network-admin
#      - community: public
#        group: network-operator
#    contact: nxosswitchadmin@localhost
#    location: serverroom-1
#    traps:
#      aaa:
#        server_state_change: true
#      system:
#        clock_change_notification: true
#    hosts:
#      - host: 192.0.2.1
#        traps: true
#        version: "1"
#        community: public
#
#      - host: 192.0.2.1
#        source_interface: Ethernet1/1
#
#      - host: 192.0.2.2
#        informs: true
#        version: "3"
#        auth: NMS
#    users:
#      auth:
#        - user: admin
#          group: network-admin
#          authentication:
#            algorithm: md5
#            password: "0xcbde46b02c46e0bcd3ac5af6a8b13da9"
#            localized_key: true
#            priv:
#              privacy_password: "0xcbde46b02c46e0bcd3ac5af6a8b13da9"
#
#        - user: snmp_user_1
#          group: network-operator
#          authentication:
#            algorithm: md5
#            password: "0x5632724fb8ac3699296af26281e1d0f1"
#            localized_key: true
#
#        - authentication:
#            algorithm: md5
#            localized_key: true
#            password: "0x5632724fb8ac3699296af26281e1d0f1"
#            priv:
#              aes_128: true
#              privacy_password: "0x5632724fb8ac3699296af26281e1d0f1"
#          group: network-operator
#          user: snmp_user_2
#
#      use_acls:
#        - user: snmp_user_1
#          ipv4: acl1
#          ipv6: acl2
#        - user: snmp_user_2
#          ipv4: acl3
#          ipv6: acl4

# After state:
# ------------
# nxos-9k-rdo# show running-config | section "^snmp-server"
# snmp-server contact nxosswitchadmin@localhost
# snmp-server location serverroom-1
# snmp-server aaa-user cache-timeout 36000
# snmp-server user admin network-admin auth md5 0xcbde46b02c46e0bcd3ac5af6a8b13da9 priv 0xcbde46b02c46e0bcd3ac5af6a8b13da9 localizedkey
# snmp-server user snmp_user_1 network-operator auth md5 0x5632724fb8ac3699296af26281e1d0f1 localizedkey
# snmp-server user snmp_user_2 network-operator auth md5 0x5632724fb8ac3699296af26281e1d0f1 priv aes-128 0x5632724fb8ac3699296af26281e1d0f1 localizedkey
# snmp-server user snmp_user_1 use-ipv4acl acl1 use-ipv6acl acl2
# snmp-server user snmp_user_2 use-ipv4acl acl3 use-ipv6acl acl4
# snmp-server host 192.0.2.1 traps version 1 public
# snmp-server host 192.0.2.1 source-interface Ethernet1/1
# snmp-server host 192.0.2.2 informs version 3 auth NMS
# snmp-server community private group network-admin
# snmp-server community public group network-operator
# snmp-server enable traps aaa server-state-change
# snmp-server enable traps system Clock-change-notification

# Using replaced

# Before state:
# ------------
# nxos-9k-rdo# show running-config | section "^snmp-server"
# snmp-server contact nxosswitchadmin@localhost
# snmp-server location serverroom-1
# snmp-server aaa-user cache-timeout 36000
# snmp-server user admin network-admin auth md5 0xcbde46b02c46e0bcd3ac5af6a8b13da9 priv 0xcbde46b02c46e0bcd3ac5af6a8b13da9 localizedkey
# snmp-server user snmp_user_1 network-operator auth md5 0x5632724fb8ac3699296af26281e1d0f1 localizedkey
# snmp-server user snmp_user_2 network-operator auth md5 0x5632724fb8ac3699296af26281e1d0f1 priv aes-128 0x5632724fb8ac3699296af26281e1d0f1 localizedkey
# snmp-server user snmp_user_1 use-ipv4acl acl1 use-ipv6acl acl2
# snmp-server user snmp_user_2 use-ipv4acl acl3 use-ipv6acl acl4
# snmp-server host 192.0.2.1 traps version 1 public
# snmp-server host 192.0.2.1 source-interface Ethernet1/1
# snmp-server host 192.0.2.2 informs version 3 auth NMS
# snmp-server community private group network-admin
# snmp-server community public group network-operator
# snmp-server enable traps aaa server-state-change
# snmp-server enable traps system Clock-change-notification

- name: Replace snmp-server configurations of listed snmp-server with provided configurations
  cisco.nxos.nxos_snmp_server:
    config:
      aaa_user:
        cache_timeout: 36000
      communities:
        - community: public
          group: network-operator
        - community: secret
          group: network-operator
      contact: nxosswitchadmin2@localhost
      location: serverroom-2
      traps:
        aaa:
          server_state_change: true
      hosts:
        - host: 192.0.2.1
          traps: true
          version: '1'
          community: public
        - host: 192.0.2.1
          source_interface: Ethernet1/1
        - host: 192.0.3.2
          informs: true
          version: '3'
          auth: NMS
      users:
        auth:
          - user: admin
            group: network-admin
            authentication:
              algorithm: md5
              password: "0xcbde46b02c46e0bcd3ac5af6a8b13da9"
              localized_key: true
              priv:
                privacy_password: "0xcbde46b02c46e0bcd3ac5af6a8b13da9"

          - user: snmp_user_1
            group: network-operator
            authentication:
              algorithm: md5
              password: '0x5632724fb8ac3699296af26281e1d0f1'
              localized_key: true

          - user: snmp_user_2
            group: network-operator
            authentication:
              algorithm: md5
              password: '0x5632724fb8ac3699296af26281e1d0f1'
              localized_key: true
              priv:
                privacy_password: '0x5632724fb8ac3699296af26281e1d0f1'
                aes_128: true
        use_acls:
          - user: snmp_user_1
            ipv4: acl1
            ipv6: acl2
    state: replaced

# Task output
# -------------
# before:
#   aaa_user:
#      cache_timeout: 36000
#    communities:
#      - community: private
#        group: network-admin
#      - community: public
#        group: network-operator
#    contact: nxosswitchadmin@localhost
#    location: serverroom-1
#    traps:
#      aaa:
#        server_state_change: true
#      system:
#        clock_change_notification: true
#    hosts:
#      - host: 192.0.2.1
#        traps: true
#        version: "1"
#        community: public
#
#      - host: 192.0.2.1
#        source_interface: Ethernet1/1
#
#      - host: 192.0.2.2
#        informs: true
#        version: "3"
#        auth: NMS
#    users:
#      auth:
#        - user: admin
#          group: network-admin
#          authentication:
#            algorithm: md5
#            password: "0xcbde46b02c46e0bcd3ac5af6a8b13da9"
#            localized_key: true
#            priv:
#              privacy_password: "0xcbde46b02c46e0bcd3ac5af6a8b13da9"
#
#        - user: snmp_user_1
#          group: network-operator
#          authentication:
#            algorithm: md5
#            password: "0x5632724fb8ac3699296af26281e1d0f1"
#            localized_key: true
#
#        - authentication:
#            algorithm: md5
#            localized_key: true
#            password: "0x5632724fb8ac3699296af26281e1d0f1"
#            priv:
#              aes_128: true
#              privacy_password: "0x5632724fb8ac3699296af26281e1d0f1"
#          group: network-operator
#          user: snmp_user_2
#
#      use_acls:
#        - user: snmp_user_1
#          ipv4: acl1
#          ipv6: acl2
#        - user: snmp_user_2
#          ipv4: acl3
#          ipv6: acl4
#
# commands:
#   - snmp-server contact nxosswitchadmin2@localhost
#   - no snmp-server enable traps system Clock-change-notification
#   - snmp-server location serverroom-2
#   - no snmp-server user snmp_user_2 use-ipv4acl acl3 use-ipv6acl acl4
#   - no snmp-server host 192.0.2.2 informs version 3 auth NMS
#   - snmp-server host 192.0.3.2 informs version 3 auth NMS
#   - no snmp-server community private group network-admin
#   - snmp-server community secret group network-operator
#
# after:
#   aaa_user:
#      cache_timeout: 36000
#    communities:
#      - community: public
#        group: network-operator
#      - community: secret
#        group: network-operator
#    contact: nxosswitchadmin2@localhost
#    location: serverroom-2
#    traps:
#      aaa:
#        server_state_change: true
#    hosts:
#      - host: 192.0.2.1
#        traps: true
#        version: '1'
#        community: public
#      - host: 192.0.2.1
#        source_interface: Ethernet1/1
#      - host: 192.0.3.2
#        informs: true
#        version: '3'
#        auth: NMS
#    users:
#      auth:
#        - user: admin
#          group: network-admin
#          authentication:
#            algorithm: md5
#            password: "0xcbde46b02c46e0bcd3ac5af6a8b13da9"
#            localized_key: true
#            priv:
#              privacy_password: "0xcbde46b02c46e0bcd3ac5af6a8b13da9"
#
#        - user: snmp_user_1
#          group: network-operator
#          authentication:
#            algorithm: md5
#            password: '0x5632724fb8ac3699296af26281e1d0f1'
#            localized_key: true
#
#        - user: snmp_user_2
#          group: network-operator
#          authentication:
#            algorithm: md5
#            password: '0x5632724fb8ac3699296af26281e1d0f1'
#            localized_key: true
#            priv:
#              privacy_password: '0x5632724fb8ac3699296af26281e1d0f1'
#              aes_128: true
#
#      use_acls:
#        - user: snmp_user_1
#          ipv4: acl1
#          ipv6: acl2
#

# After state:
# ------------
# nxos-9k-rdo# show running-config | section "^snmp-server"
# snmp-server contact nxosswitchadmin2@localhost
# snmp-server location serverroom-2
# snmp-server aaa-user cache-timeout 36000
# snmp-server user admin network-admin auth md5 0xcbde46b02c46e0bcd3ac5af6a8b13da9 priv 0xcbde46b02c46e0bcd3ac5af6a8b13da9 localizedkey
# snmp-server user snmp_user_1 network-operator auth md5 0x5632724fb8ac3699296af26281e1d0f1 localizedkey
# snmp-server user snmp_user_2 network-operator auth md5 0x5632724fb8ac3699296af26281e1d0f1 priv aes-128 0x5632724fb8ac3699296af26281e1d0f1 localizedkey
# snmp-server user snmp_user_1 use-ipv4acl acl1 use-ipv6acl acl2
# snmp-server user snmp_user_2 use-ipv4acl acl3 use-ipv6acl acl4
# snmp-server host 192.0.2.1 traps version 1 public
# snmp-server host 192.0.2.1 source-interface Ethernet1/1
# snmp-server host 192.0.2.2 informs version 3 auth NMS
# snmp-server community secret group network-operator
# snmp-server community public group network-operator
# snmp-server enable traps aaa server-state-change
# snmp-server enable traps system Clock-change-notification

# Using deleted

# Before state:
# ------------
# nxos-9k-rdo# show running-config | section "^snmp-server"
# snmp-server contact nxosswitchadmin@localhost
# snmp-server location serverroom-1
# snmp-server aaa-user cache-timeout 36000
# snmp-server user admin network-admin auth md5 0xcbde46b02c46e0bcd3ac5af6a8b13da9 priv 0xcbde46b02c46e0bcd3ac5af6a8b13da9 localizedkey
# snmp-server user snmp_user_1 network-operator auth md5 0x5632724fb8ac3699296af26281e1d0f1 localizedkey
# snmp-server user snmp_user_2 network-operator auth md5 0x5632724fb8ac3699296af26281e1d0f1 priv aes-128 0x5632724fb8ac3699296af26281e1d0f1 localizedkey
# snmp-server user snmp_user_1 use-ipv4acl acl1 use-ipv6acl acl2
# snmp-server user snmp_user_2 use-ipv4acl acl3 use-ipv6acl acl4
# snmp-server host 192.0.2.1 traps version 1 public
# snmp-server host 192.0.2.1 source-interface Ethernet1/1
# snmp-server host 192.0.2.2 informs version 3 auth NMS
# snmp-server community private group network-admin
# snmp-server community public group network-operator
# snmp-server enable traps aaa server-state-change
# snmp-server enable traps system Clock-change-notification

- name: Delete SNMP Server configurations from the device (admin user will not be deleted)
  cisco.nxos.nxos_snmp_server:
    state: deleted

# Task output
# -------------
# before:
#   aaa_user:
#      cache_timeout: 36000
#    communities:
#      - community: private
#        group: network-admin
#      - community: public
#        group: network-operator
#    contact: nxosswitchadmin@localhost
#    location: serverroom-1
#    traps:
#      aaa:
#        server_state_change: true
#      system:
#        clock_change_notification: true
#    hosts:
#      - host: 192.0.2.1
#        traps: true
#        version: "1"
#        community: public
#
#      - host: 192.0.2.1
#        source_interface: Ethernet1/1
#
#      - host: 192.0.2.2
#        informs: true
#        version: "3"
#        auth: NMS
#    users:
#      auth:
#        - user: admin
#          group: network-admin
#          authentication:
#            algorithm: md5
#            password: "0xcbde46b02c46e0bcd3ac5af6a8b13da9"
#            localized_key: true
#            priv:
#              privacy_password: "0xcbde46b02c46e0bcd3ac5af6a8b13da9"
#
#        - user: snmp_user_1
#          group: network-operator
#          authentication:
#            algorithm: md5
#            password: "0x5632724fb8ac3699296af26281e1d0f1"
#            localized_key: true
#
#        - authentication:
#            algorithm: md5
#            localized_key: true
#            password: "0x5632724fb8ac3699296af26281e1d0f1"
#            priv:
#              aes_128: true
#              privacy_password: "0x5632724fb8ac3699296af26281e1d0f1"
#          group: network-operator
#          user: snmp_user_2
#
#      use_acls:
#        - user: snmp_user_1
#          ipv4: acl1
#          ipv6: acl2
#        - user: snmp_user_2
#          ipv4: acl3
#          ipv6: acl4
#
# commands:
#   - no snmp-server contact nxosswitchadmin@localhost
#   - no snmp-server location serverroom-1
#   - no snmp-server aaa-user cache-timeout 36000
#   - no snmp-server user admin network-admin auth md5 0xcbde46b02c46e0bcd3ac5af6a8b13da9 priv 0xcbde46b02c46e0bcd3ac5af6a8b13da9 localizedkey
#   - no snmp-server user snmp_user_1 network-operator auth md5 0x5632724fb8ac3699296af26281e1d0f1 localizedkey
#   - no snmp-server user snmp_user_2 network-operator auth md5 0x5632724fb8ac3699296af26281e1d0f1 priv aes-128 0x5632724fb8ac3699296af26281e1d0f1 localizedkey
#   - no snmp-server user snmp_user_1 use-ipv4acl acl1 use-ipv6acl acl2
#   - no snmp-server user snmp_user_2 use-ipv4acl acl3 use-ipv6acl acl4
#   - no snmp-server host 192.0.2.1 traps version 1 public
#   - no snmp-server host 192.0.2.1 source-interface Ethernet1/1
#   - no snmp-server host 192.0.2.2 informs version 3 auth NMS
#   - no snmp-server community private group network-admin
#   - no snmp-server community public group network-operator
#   - no snmp-server enable traps aaa server-state-change
#   - no snmp-server enable traps system Clock-change-notification
#
# after:
#   users:
#     auth:
#       - user: admin
#         group: network-admin
#         authentication:
#           algorithm: md5
#           password: "0xcbde46b02c46e0bcd3ac5af6a8b13da9"
#           localized_key: true
#           priv:
#             privacy_password: "0xcbde46b02c46e0bcd3ac5af6a8b13da9"

# After state:
# ------------
# nxos-9k-rdo# show running-config | section "^snmp-server"
# snmp-server user admin network-admin auth md5 0xcbde46b02c46e0bcd3ac5af6a8b13da9 priv 0xcbde46b02c46e0bcd3ac5af6a8b13da9 localizedkey

# Using rendered
# ---------------

- name: Render platform specific configuration lines with state rendered (without connecting to the device)
  cisco.nxos.nxos_snmp_server:
    config:
      aaa_user:
        cache_timeout: 36000
      communities:
        - community: public
          group: network-operator
        - community: private
          group: network-admin
      contact: nxosswitchadmin@localhost
      location: serverroom-1
      traps:
        aaa:
          server_state_change: true
        system:
          clock_change_notification: true
      hosts:
        - host: 192.0.2.1
          traps: true
          version: '1'
          community: public
        - host: 192.0.2.1
          source_interface: Ethernet1/1
        - host: 192.0.2.2
          informs: true
          version: '3'
          auth: NMS
      users:
        auth:
          - user: snmp_user_1
            group: network-operator
            authentication:
              algorithm: md5
              password: '0x5632724fb8ac3699296af26281e1d0f1'
              localized_key: true
          - user: snmp_user_2
            group: network-operator
            authentication:
              algorithm: md5
              password: '0x5632724fb8ac3699296af26281e1d0f1'
              localized_key: true
              priv:
                privacy_password: '0x5632724fb8ac3699296af26281e1d0f1'
                aes_128: true
        use_acls:
          - user: snmp_user_1
            ipv4: acl1
            ipv6: acl2
          - user: snmp_user_2
            ipv4: acl3
            ipv6: acl4
    state: rendered


# Task Output (redacted)
# -----------------------
#  rendered:
#    - snmp-server contact nxosswitchadmin@localhost
#    - snmp-server location serverroom-1
#    - snmp-server aaa-user cache-timeout 36000
#    - snmp-server user snmp_user_1 network-operator auth md5 0x5632724fb8ac3699296af26281e1d0f1 localizedkey
#    - snmp-server user snmp_user_2 network-operator auth md5 0x5632724fb8ac3699296af26281e1d0f1 priv aes-128 0x5632724fb8ac3699296af26281e1d0f1 localizedkey
#    - snmp-server user snmp_user_1 use-ipv4acl acl1 use-ipv6acl acl2
#    - snmp-server user snmp_user_2 use-ipv4acl acl3 use-ipv6acl acl4
#    - snmp-server host 192.0.2.1 traps version 1 public
#    - snmp-server host 192.0.2.1 source-interface Ethernet1/1
#    - snmp-server host 192.0.2.2 informs version 3 auth NMS
#    - snmp-server community private group network-admin
#    - snmp-server community public group network-operator
#    - snmp-server enable traps aaa server-state-change
#    - snmp-server enable traps system Clock-change-notification

# Using parsed

# parsed.cfg
# ------------
# snmp-server contact nxosswitchadmin@localhost
# snmp-server location serverroom-1
# snmp-server aaa-user cache-timeout 36000
# snmp-server user snmp_user_1 network-operator auth md5 0x5632724fb8ac3699296af26281e1d0f1 localizedkey
# snmp-server user snmp_user_2 network-operator auth md5 0x5632724fb8ac3699296af26281e1d0f1 priv aes-128 0x5632724fb8ac3699296af26281e1d0f1 localizedkey
# snmp-server user snmp_user_1 use-ipv4acl acl1 use-ipv6acl acl2
# snmp-server user snmp_user_2 use-ipv4acl acl3 use-ipv6acl acl4
# snmp-server host 192.0.2.1 traps version 1 public
# snmp-server host 192.0.2.1 source-interface Ethernet1/1
# snmp-server host 192.0.2.2 informs version 3 auth NMS
# snmp-server community private group network-admin
# snmp-server community public group network-operator
# snmp-server enable traps aaa server-state-change
# snmp-server enable traps system Clock-change-notification

- name: Parse externally provided snmp-server configuration
  cisco.nxos.nxos_snmp_server:
    running_config: "{{ lookup('file', './parsed.cfg') }}"
    state: parsed

# Task output (redacted)
# -----------------------
#  parsed:
#   aaa_user:
#      cache_timeout: 36000
#    communities:
#      - community: private
#        group: network-admin
#      - community: public
#        group: network-operator
#    contact: nxosswitchadmin@localhost
#    location: serverroom-1
#    traps:
#      aaa:
#        server_state_change: true
#      system:
#        clock_change_notification: true
#    hosts:
#      - host: 192.0.2.1
#        traps: true
#        version: "1"
#        community: public
#
#      - host: 192.0.2.1
#        source_interface: Ethernet1/1
#
#      - host: 192.0.2.2
#        informs: true
#        version: "3"
#        auth: NMS
#    users:
#      auth:
#        - user: snmp_user_1
#          group: network-operator
#          authentication:
#            algorithm: md5
#            password: "0x5632724fb8ac3699296af26281e1d0f1"
#            localized_key: true
#
#        - authentication:
#            algorithm: md5
#            localized_key: true
#            password: "0x5632724fb8ac3699296af26281e1d0f1"
#            priv:
#              aes_128: true
#              privacy_password: "0x5632724fb8ac3699296af26281e1d0f1"
#          group: network-operator
#          user: snmp_user_2
#
#      use_acls:
#        - user: snmp_user_1
#          ipv4: acl1
#          ipv6: acl2
#        - user: snmp_user_2
#          ipv4: acl3
#          ipv6: acl4
#

返回值

通用返回值记录在此处,以下是此模块特有的字段

描述

after

字典

模块执行后的结果配置。

返回:当更改时

示例: "此 输出 将始终与模块的 argspec 格式相同。\n"

before

字典

模块执行之前的配置。

返回:当 *state* 为 mergedreplacedoverriddendeletedpurged

示例: "此 输出 将始终与模块的 argspec 格式相同。\n"

commands

列表 / 元素=字符串

推送到远程设备的命令集。

返回:当 *state* 为 mergedreplacedoverriddendeletedpurged

示例: ["示例命令 1", "示例命令 2", "示例命令 3"]

gathered

列表 / 元素=字符串

从远程设备收集的关于网络资源的结构化数据的事实。

返回:当 *state* 为 gathered

示例: ["此输出将始终与模块的 argspec 格式相同。\n"]

parsed

列表 / 元素=字符串

根据模块 argspec 将 *running_config* 选项中提供的设备原生配置解析为结构化数据。

返回:当 *state* 为 parsed

示例: ["此输出将始终与模块的 argspec 格式相同。\n"]

rendered

列表 / 元素=字符串

任务中提供的配置以设备原生格式呈现(离线)。

返回:当 *state* 为 rendered

示例: ["示例命令 1", "示例命令 2", "示例命令 3"]

作者

  • Nilashish Chakraborty (@NilashishC)