lix_fortinet.fortios.fortios_emailfilter_profile (102.2.120) — module

Configure Email Filter profiles in Fortinet's FortiOS and FortiGate.

| "added in version" 2.0.0 of lix_fortinet.fortios"

Authors: Link Zheng (@chillancezen), Jie Xue (@JieX19), Hongbin Lu (@fgtdev-hblu), Frank Shen (@frankshen01), Miguel Angel Munoz (@mamunozgonzalez), Nicolas Thomas (@thomnico)

preview | supported by community

Install collection

Install with ansible-galaxy collection install lix_fortinet.fortios:==102.2.120


Add to requirements.yml

  collections:
    - name: lix_fortinet.fortios
      version: 102.2.120

Description

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


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- hosts: fortigates
  collections:
    - fortinet.fortios
  connection: httpapi
  vars:
   vdom: "root"
   ansible_httpapi_use_ssl: yes
   ansible_httpapi_validate_certs: no
   ansible_httpapi_port: 443
  tasks:
  - name: Configure Email Filter profiles.
    fortios_emailfilter_profile:
      vdom:  "{{ vdom }}"
      state: "present"
      access_token: "<your_own_value>"
      emailfilter_profile:
        comment: "Comment."
        external: "enable"
        feature_set: "flow"
        file_filter:
            entries:
             -
                action: "log"
                comment: "Comment."
                file_type:
                 -
                    name: "default_name_11 (source antivirus.filetype.name)"
                filter: "<your_own_value>"
                password_protected: "yes"
                protocol: "smtp"
            log: "enable"
            scan_archive_contents: "enable"
            status: "enable"
        gmail:
            log: "enable"
            log_all: "disable"
        imap:
            action: "pass"
            log: "enable"
            log_all: "disable"
            tag_msg: "<your_own_value>"
            tag_type: "subject"
        mapi:
            action: "pass"
            log: "enable"
            log_all: "disable"
        msn_hotmail:
            log: "enable"
            log_all: "disable"
        name: "default_name_34"
        options: "bannedword"
        other_webmails:
            log_all: "disable"
        pop3:
            action: "pass"
            log: "enable"
            log_all: "disable"
            tag_msg: "<your_own_value>"
            tag_type: "subject"
        replacemsg_group: "<your_own_value> (source system.replacemsg-group.name)"
        smtp:
            action: "pass"
            hdrip: "disable"
            local_override: "disable"
            log: "enable"
            log_all: "disable"
            tag_msg: "<your_own_value>"
            tag_type: "subject"
        spam_bal_table: "0"
        spam_bwl_table: "2147483647"
        spam_bword_table: "0"
        spam_bword_threshold: "10"
        spam_filtering: "enable"
        spam_iptrust_table: "0"
        spam_log: "disable"
        spam_log_fortiguard_response: "disable"
        spam_mheader_table: "0"
        spam_rbl_table: "0"
        yahoo_mail:
            log: "enable"
            log_all: "disable"

Inputs

    
vdom:
    default: root
    description:
    - 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.
    type: str

state:
    choices:
    - present
    - absent
    description:
    - Indicates whether to create or remove the object.
    required: true
    type: str

enable_log:
    default: false
    description:
    - Enable/Disable logging for task.
    required: false
    type: bool

member_path:
    description:
    - Member attribute path to operate on.
    - Delimited by a slash character if there are more than one attribute.
    - Parameter marked with member_path is legitimate for doing member operation.
    type: str

access_token:
    description:
    - Token-based authentication. Generated from GUI of Fortigate.
    required: false
    type: str

member_state:
    choices:
    - present
    - absent
    description:
    - Add or delete a member under specified attribute path.
    - When member_state is specified, the state option is ignored.
    type: str

emailfilter_profile:
    default: null
    description:
    - Configure Email Filter profiles.
    suboptions:
      comment:
        description:
        - Comment.
        type: str
      external:
        choices:
        - enable
        - disable
        description:
        - Enable/disable external Email inspection.
        type: str
      feature_set:
        choices:
        - flow
        - proxy
        description:
        - Flow/proxy feature set.
        type: str
      file_filter:
        description:
        - File filter.
        suboptions:
          entries:
            description:
            - File filter entries.
            elements: dict
            suboptions:
              action:
                choices:
                - log
                - block
                description:
                - Action taken for matched file.
                type: str
              comment:
                description:
                - Comment.
                type: str
              file_type:
                description:
                - Select file type.
                elements: dict
                suboptions:
                  name:
                    description:
                    - File type name. Source antivirus.filetype.name.
                    type: str
                type: list
              filter:
                description:
                - Add a file filter.
                type: str
              password_protected:
                choices:
                - 'yes'
                - any
                description:
                - Match password-protected files.
                type: str
              protocol:
                choices:
                - smtp
                - imap
                - pop3
                description:
                - Protocols to apply with.
                elements: str
                type: list
            type: list
          log:
            choices:
            - enable
            - disable
            description:
            - Enable/disable file filter logging.
            type: str
          scan_archive_contents:
            choices:
            - enable
            - disable
            description:
            - Enable/disable file filter archive contents scan.
            type: str
          status:
            choices:
            - enable
            - disable
            description:
            - Enable/disable file filter.
            type: str
        type: dict
      gmail:
        description:
        - Gmail.
        suboptions:
          log:
            choices:
            - enable
            - disable
            description:
            - Enable/disable logging.
            type: str
          log_all:
            choices:
            - disable
            - enable
            description:
            - Enable/disable logging of all email traffic.
            type: str
        type: dict
      imap:
        description:
        - IMAP.
        suboptions:
          action:
            choices:
            - pass
            - tag
            description:
            - Action for spam email.
            type: str
          log:
            choices:
            - enable
            - disable
            description:
            - Enable/disable logging.
            type: str
          log_all:
            choices:
            - disable
            - enable
            description:
            - Enable/disable logging of all email traffic.
            type: str
          tag_msg:
            description:
            - Subject text or header added to spam email.
            type: str
          tag_type:
            choices:
            - subject
            - header
            - spaminfo
            description:
            - Tag subject or header for spam email.
            elements: str
            type: list
        type: dict
      mapi:
        description:
        - MAPI.
        suboptions:
          action:
            choices:
            - pass
            - discard
            description:
            - Action for spam email.
            type: str
          log:
            choices:
            - enable
            - disable
            description:
            - Enable/disable logging.
            type: str
          log_all:
            choices:
            - disable
            - enable
            description:
            - Enable/disable logging of all email traffic.
            type: str
        type: dict
      msn_hotmail:
        description:
        - MSN Hotmail.
        suboptions:
          log:
            choices:
            - enable
            - disable
            description:
            - Enable/disable logging.
            type: str
          log_all:
            choices:
            - disable
            - enable
            description:
            - Enable/disable logging of all email traffic.
            type: str
        type: dict
      name:
        description:
        - Profile name.
        required: true
        type: str
      options:
        choices:
        - bannedword
        - spambal
        - spamfsip
        - spamfssubmit
        - spamfschksum
        - spamfsurl
        - spamhelodns
        - spamraddrdns
        - spamrbl
        - spamhdrcheck
        - spamfsphish
        - spambwl
        description:
        - Options.
        elements: str
        type: list
      other_webmails:
        description:
        - Other supported webmails.
        suboptions:
          log_all:
            choices:
            - disable
            - enable
            description:
            - Enable/disable logging of all email traffic.
            type: str
        type: dict
      pop3:
        description:
        - POP3.
        suboptions:
          action:
            choices:
            - pass
            - tag
            description:
            - Action for spam email.
            type: str
          log:
            choices:
            - enable
            - disable
            description:
            - Enable/disable logging.
            type: str
          log_all:
            choices:
            - disable
            - enable
            description:
            - Enable/disable logging of all email traffic.
            type: str
          tag_msg:
            description:
            - Subject text or header added to spam email.
            type: str
          tag_type:
            choices:
            - subject
            - header
            - spaminfo
            description:
            - Tag subject or header for spam email.
            elements: str
            type: list
        type: dict
      replacemsg_group:
        description:
        - Replacement message group. Source system.replacemsg-group.name.
        type: str
      smtp:
        description:
        - SMTP.
        suboptions:
          action:
            choices:
            - pass
            - tag
            - discard
            description:
            - Action for spam email.
            type: str
          hdrip:
            choices:
            - disable
            - enable
            description:
            - Enable/disable SMTP email header IP checks for spamfsip, spamrbl, and spambal
              filters.
            type: str
          local_override:
            choices:
            - disable
            - enable
            description:
            - Enable/disable local filter to override SMTP remote check result.
            type: str
          log:
            choices:
            - enable
            - disable
            description:
            - Enable/disable logging.
            type: str
          log_all:
            choices:
            - disable
            - enable
            description:
            - Enable/disable logging of all email traffic.
            type: str
          tag_msg:
            description:
            - Subject text or header added to spam email.
            type: str
          tag_type:
            choices:
            - subject
            - header
            - spaminfo
            description:
            - Tag subject or header for spam email.
            elements: str
            type: list
        type: dict
      spam_bal_table:
        description:
        - Anti-spam block/allow list table ID. Source emailfilter.block-allow-list.id.
        type: int
      spam_bwl_table:
        description:
        - Anti-spam black/white list table ID. Source emailfilter.bwl.id.
        type: int
      spam_bword_table:
        description:
        - Anti-spam banned word table ID. Source emailfilter.bword.id.
        type: int
      spam_bword_threshold:
        description:
        - Spam banned word threshold.
        type: int
      spam_filtering:
        choices:
        - enable
        - disable
        description:
        - Enable/disable spam filtering.
        type: str
      spam_iptrust_table:
        description:
        - Anti-spam IP trust table ID. Source emailfilter.iptrust.id.
        type: int
      spam_log:
        choices:
        - disable
        - enable
        description:
        - Enable/disable spam logging for email filtering.
        type: str
      spam_log_fortiguard_response:
        choices:
        - disable
        - enable
        description:
        - Enable/disable logging FortiGuard spam response.
        type: str
      spam_mheader_table:
        description:
        - Anti-spam MIME header table ID. Source emailfilter.mheader.id.
        type: int
      spam_rbl_table:
        description:
        - Anti-spam DNSBL table ID. Source emailfilter.dnsbl.id.
        type: int
      yahoo_mail:
        description:
        - Yahoo! Mail.
        suboptions:
          log:
            choices:
            - enable
            - disable
            description:
            - Enable/disable logging.
            type: str
          log_all:
            choices:
            - disable
            - enable
            description:
            - Enable/disable logging of all email traffic.
            type: str
        type: dict
    type: dict

Outputs

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