fortinet.fortimanager.fmgr_devprof_system_emailserver – Configure the email server used by the FortiGate various things. For example, for sending email messages to users to support user authen…

Note

This plugin is part of the fortinet.fortimanager collection (version 1.0.5).

To install it use: ansible-galaxy collection install fortinet.fortimanager.

To use it in a playbook, specify: fortinet.fortimanager.fmgr_devprof_system_emailserver.

New in version 2.10: of fortinet.fortimanager

Synopsis

  • This module is able to configure a FortiManager device by allowing the user to [ get set update ] the following apis.

  • /pm/config/adom/{adom}/devprof/{devprof}/system/email-server

  • Examples include all parameters and values need to be adjusted to data sources before usage.

Parameters

Parameter Choices/Defaults Comments
loose_validation
boolean
    Choices:
  • no
  • yes
Do parameter validation in a loose way
method
string / required
    Choices:
  • get
  • set
  • update
The method in request
params
list / elements=string
The parameters for each method
See full parameters list in https://ansible-galaxy-fortimanager-docs.readthedocs.io/en/latest
url_params
dictionary
The parameters for each API request URL
Also see full URL parameters in https://ansible-galaxy-fortimanager-docs.readthedocs.io/en/latest
workspace_locking_adom
string
the adom name to lock in case FortiManager running in workspace mode
it can be global or any other custom adom names
workspace_locking_timeout
integer
Default:
300
the maximum time in seconds to wait for other user to release the workspace lock

Notes

Note

  • There are only three top-level parameters where ‘method’ is always required while other two ‘params’ and ‘url_params’ can be optional

  • Due to the complexity of fortimanager api schema, the validation is done out of Ansible native parameter validation procedure.

  • The syntax of OPTIONS doen not comply with the standard Ansible argument specification, but with the structure of fortimanager API schema, we need a trivial transformation when we are filling the ansible playbook

Examples

- hosts: fortimanager-inventory
  collections:
    - fortinet.fortimanager
  connection: httpapi
  vars:
     ansible_httpapi_use_ssl: True
     ansible_httpapi_validate_certs: False
     ansible_httpapi_port: 443
  tasks:

   - name: REQUESTING /PM/CONFIG/DEVPROF/{DEVPROF}/SYSTEM/EMAIL-SERVER
     fmgr_devprof_system_emailserver:
        loose_validation: False
        workspace_locking_adom: <value in [global, custom adom]>
        workspace_locking_timeout: 300
        method: <value in [get]>
        url_params:
           adom: <value in [none, global, custom dom]>
           devprof: <value of string>
        params:
           -
              option: <value in [object member, chksum, datasrc]>

   - name: REQUESTING /PM/CONFIG/DEVPROF/{DEVPROF}/SYSTEM/EMAIL-SERVER
     fmgr_devprof_system_emailserver:
        loose_validation: False
        workspace_locking_adom: <value in [global, custom adom]>
        workspace_locking_timeout: 300
        method: <value in [set, update]>
        url_params:
           adom: <value in [none, global, custom dom]>
           devprof: <value of string>
        params:
           -
              data:
                 authenticate: <value in [disable, enable]>
                 password:
                   - <value of string>
                 port: <value of integer>
                 reply-to: <value of string>
                 security: <value in [none, starttls, smtps]>
                 server: <value of string>
                 source-ip: <value of string>
                 source-ip6: <value of string>
                 ssl-min-proto-version: <value in [default, TLSv1, TLSv1-1, ...]>
                 type: <value in [custom]>
                 username: <value of string>
                 validate-server: <value in [disable, enable]>

Return Values

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

Key Returned Description
data
dictionary
always
The payload returned in the request

status
dictionary
always
The status of api request

url
string
always
The full url requested

Sample:
/sys/login/user


Authors

  • Frank Shen (@fshen01)

  • Link Zheng (@zhengl)