snmp_facts – Retrieve facts for a device using SNMP¶
Synopsis¶
Retrieve facts for a device using SNMP, the facts will be inserted to the ansible_facts key.
Requirements¶
The below requirements are needed on the host that executes this module.
pysnmp
Parameters¶
Parameter | Choices/Defaults | Comments |
---|---|---|
authkey
string
|
Authentication key.
Required if version is v3.
|
|
community
string
|
The SNMP community string, required if version is v2/v2c.
|
|
host
string
/ required
|
Set to target snmp server (normally
{{ inventory_hostname }} ). |
|
integrity
string
|
|
Hashing algorithm.
Required if version is v3.
|
level
string
|
|
Authentication level.
Required if version is v3.
|
privacy
string
|
|
Encryption algorithm.
Required if level is authPriv.
|
privkey
string
|
Encryption key.
Required if version is authPriv.
|
|
username
string
|
Username for SNMPv3.
Required if version is v3.
|
|
version
string
/ required
|
|
SNMP Version to use, v2/v2c or v3.
|
Examples¶
- name: Gather facts with SNMP version 2
snmp_facts:
host: '{{ inventory_hostname }}'
version: v2c
community: public
delegate_to: local
- name: Gather facts using SNMP version 3
snmp_facts:
host: '{{ inventory_hostname }}'
version: v3
level: authPriv
integrity: sha
privacy: aes
username: snmp-user
authkey: abc12345
privkey: def6789
delegate_to: localhost
Return Values¶
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
ansible_all_ipv4_addresses
list
|
success |
List of all IPv4 addresses.
Sample:
['127.0.0.1', '172.17.0.1']
|
ansible_interfaces
dictionary
|
success |
Dictionary of each network interface and its metadata.
Sample:
{'1': {'adminstatus': 'up', 'description': '', 'ifindex': '1', 'ipv4': [{'address': '127.0.0.1', 'netmask': '255.0.0.0'}], 'mac': '', 'mtu': '65536', 'name': 'lo', 'operstatus': 'up', 'speed': '65536'}, '2': {'adminstatus': 'up', 'description': '', 'ifindex': '2', 'ipv4': [{'address': '192.168.213.128', 'netmask': '255.255.255.0'}], 'mac': '000a305a52a1', 'mtu': '1500', 'name': 'Intel Corporation 82545EM Gigabit Ethernet Controller (Copper)', 'operstatus': 'up', 'speed': '1500'}}
|
ansible_syscontact
string
|
success |
The textual identification of the contact person for this managed node, together with information on how to contact this person.
Sample:
Me <[email protected]>
|
ansible_sysdescr
string
|
success |
A textual description of the entity.
Sample:
Linux ubuntu-user 4.4.0-93-generic
|
ansible_syslocation
string
|
success |
The physical location of this node (e.g., `telephone closet, 3rd floor').
Sample:
Sitting on the Dock of the Bay
|
ansible_sysname
string
|
success |
An administratively-assigned name for this managed node.
Sample:
ubuntu-user
|
ansible_sysobjectid
string
|
success |
The vendor's authoritative identification of the network management subsystem contained in the entity.
Sample:
1.3.6.1.4.1.8072.3.2.10
|
ansible_sysuptime
integer
|
success |
The time (in hundredths of a second) since the network management portion of the system was last re-initialized.
Sample:
42388
|
Status¶
This module is not guaranteed to have a backwards compatible interface. [preview]
This module is maintained by the Ansible Community. [community]