# fortios_system_snmp_user – SNMP user configuration in Fortinet’s FortiOS and FortiGate

New in version 2.9.

- Synopsis

- Requirements

- Parameters

- Notes

- Examples

- Return Values

- Status

## Synopsis

- This module is able to configure a FortiGate or FortiOS (FOS) device by allowing the user to set and modify system_snmp feature and user category. Examples include all parameters and values need to be adjusted to datasources before usage. Tested with FOS v6.0.5

## Requirements

The below requirements are needed on the host that executes this module.

- fortiosapi>=0.9.8

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
host string |  | FortiOS or FortiGate IP address.

https
boolean

Choices:
- no
- yes ←

Indicates if the requests towards FortiGate must use HTTPS protocol.

password string | Default: "" | FortiOS or FortiGate password.

ssl_verify
boolean

Choices:
- no
- yes ←

Ensures FortiGate certificate must be verified by a proper CA.

state
string / required

Choices:
- present
- absent

Indicates whether to create or remove the object.

system_snmp_user dictionary | Default: null | SNMP user configuration.

auth_proto
string

Choices:
- md5
- sha

Authentication protocol.

| auth_pwd string |  | Password for authentication protocol.

events
list

Choices:
- cpu-high
- mem-low
- log-full
- intf-ip
- vpn-tun-up
- vpn-tun-down
- ha-switch
- ha-hb-failure
- ips-signature
- ips-anomaly
- av-virus
- av-oversize
- av-pattern
- av-fragmented
- fm-if-change
- fm-conf-change
- bgp-established
- bgp-backward-transition
- ha-member-up
- ha-member-down
- ent-conf-change
- av-conserve
- av-bypass
- av-oversize-passed
- av-oversize-blocked
- ips-pkg-update
- ips-fail-open
- faz-disconnect
- wc-ap-up
- wc-ap-down
- fswctl-session-up
- fswctl-session-down
- load-balance-real-server-down
- device-new
- per-cpu-high

SNMP notifications (traps) to send.

ha_direct
string

Choices:
- enable
- disable

Enable/disable direct management of HA cluster members.

| name string / required |  | SNMP user name.
| notify_hosts list |  | SNMP managers to send notifications (traps) to.
| notify_hosts6 list |  | IPv6 SNMP managers to send notifications (traps) to.

priv_proto
string

Choices:
- aes
- des
- aes256
- aes256cisco

Privacy (encryption) protocol.

| priv_pwd string |  | Password for privacy (encryption) protocol.

queries
string

Choices:
- enable
- disable

Enable/disable SNMP queries for this user.

| query_port integer |  | SNMPv3 query port .

security_level
string

Choices:
- no-auth-no-priv
- auth-no-priv
- auth-priv

Security level for message authentication and encryption.

| source_ip string |  | Source IP for SNMP trap.
| source_ipv6 string |  | Source IPv6 for SNMP trap.

status
string

Choices:
- enable
- disable

Enable/disable this SNMP user.

| trap_lport integer |  | SNMPv3 local trap port .
| trap_rport integer |  | SNMPv3 trap remote port .

trap_status
string

Choices:
- enable
- disable

Enable/disable traps for this SNMP user.

username string |  | FortiOS or FortiGate username.
vdom string | Default: "root" | Virtual domain, among those defined previously. A vdom is a virtual instance of the FortiGate that can be configured and used as a different unit.

## Notes

Note

- Requires fortiosapi library developed by Fortinet

- Run as a local_action in your playbook

## Examples

    - hosts: localhost
      vars:
       host: "192.168.122.40"
       username: "admin"
       password: ""
       vdom: "root"
       ssl_verify: "False"
      tasks:
      - name: SNMP user configuration.
        fortios_system_snmp_user:
          host:  "{{ host }}"
          username: "{{ username }}"
          password: "{{ password }}"
          vdom:  "{{ vdom }}"
          https: "False"
          state: "present"
          system_snmp_user:
            auth_proto: "md5"
            auth_pwd: "<your_own_value>"
            events: "cpu-high"
            ha_direct: "enable"
            name: "default_name_7"
            notify_hosts: "<your_own_value>"
            notify_hosts6: "<your_own_value>"
            priv_proto: "aes"
            priv_pwd: "<your_own_value>"
            queries: "enable"
            query_port: "13"
            security_level: "no-auth-no-priv"
            source_ip: "84.230.14.43"
            source_ipv6: "<your_own_value>"
            status: "enable"
            trap_lport: "18"
            trap_rport: "19"
            trap_status: "enable"

## Return Values

Common return values are documented here, the following are the fields unique to this module:

Key | Returned | Description
--- | --- | ---
build string | always | Build number of the fortigate image Sample: 1547
http_method string | always | Last method used to provision the content into FortiGate Sample: PUT
http_status string | always | Last result given by FortiGate on last operation applied Sample: 200
mkey string | success | Master key (id) used in the last call to FortiGate Sample: id
name string | always | Name of the table used to fulfill the request Sample: urlfilter
path string | always | Path of the table used to fulfill the request Sample: webfilter
revision string | always | Internal revision number Sample: 17.0.2.10658
serial string | always | Serial number of the unit Sample: FGVMEVYYQT3AB5352
status string | always | Indication of the operation's result Sample: success
vdom string | always | Virtual domain used Sample: root
version string | always | Version of the FortiGate Sample: v5.6.3

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]

- This module is maintained by the Ansible Community. [community]

### Authors

- Miguel Angel Munoz (@mamunozgonzalez)

- Nicolas Thomas (@thomnico)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.