fmgr_firewall_mmsprofile – Configure MMS profiles.

Added in version 2.0.0.

Warning

Starting in version 3.0.0, all input arguments will be named using the underscore naming convention (snake_case).

  • Argument name before 3.0.0: var-name, var name, var.name

  • New argument name starting in 3.0.0: var_name

FortiManager Ansible v2.4+ supports both previous argument name and new underscore name. You will receive deprecation warnings if you keep using the previous argument name. You can ignore the warning by setting deprecation_warnings=False in ansible.cfg.

Synopsis

  • This module is able to configure a FortiManager device.

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

  • Tested with FortiManager v6.x and v7.x.

Requirements

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

  • ansible>=2.15.0

FortiManager Version Compatibility

Supported Version Ranges: v6.0.0 -> latest

Parameters

  • access_token -The token to access FortiManager without using username and password. type: str required: false
  • bypass_validation - Only set to True when module schema diffs with FortiManager API structure, module continues to execute without validating parameters. type: bool required: false default: False
  • enable_log - Enable/Disable logging for task. type: bool required: false default: False
  • forticloud_access_token - Access token of forticloud managed API users, this option is available with FortiManager later than 6.4.0. type: str required: false
  • proposed_method - The overridden method for the underlying Json RPC request. type: str required: false choices: set, update, add
  • rc_succeeded - The rc codes list with which the conditions to succeed will be overriden. type: list required: false
  • rc_failed - The rc codes list with which the conditions to fail will be overriden. type: list required: false
  • state - The directive to create, update or delete an object type: str required: true choices: present, absent
  • workspace_locking_adom - Acquire the workspace lock if FortiManager is running in workspace mode. type: str required: false choices: global, custom adom including root
  • workspace_locking_timeout - The maximum time in seconds to wait for other users to release workspace lock. type: integer required: false default: 300
  • adom - The parameter in requested url type: str required: true
  • firewall_mmsprofile - Configure MMS profiles. type: dict
    • avnotificationtable Antivirus notification table id. type: str more...
    • bwordtable Mms banned word table id. type: str more...
    • carrier_endpoint_prefix (Alias name: carrier-endpoint-prefix) Enable/disable prefixing of end point values. type: str choices: [disable, enable] more...
    • carrier_endpoint_prefix_range_max (Alias name: carrier-endpoint-prefix-range-max) Maximum length of end point value that can be prefixed (1 - 48). type: int more...
    • carrier_endpoint_prefix_range_min (Alias name: carrier-endpoint-prefix-range-min) Minimum end point length to be prefixed (1 - 48). type: int more...
    • carrier_endpoint_prefix_string (Alias name: carrier-endpoint-prefix-string) String with which to prefix end point values. type: str more...
    • carrierendpointbwltable Carrier end point filter table id. type: str more...
    • comment Comment. type: str more...
    • mm1 Mm1 options. type: list choices: [avmonitor, block, oversize, quarantine, scan, avquery, bannedword, no-content-summary, archive-summary, archive-full, carrier-endpoint-bwl, remove-blocked, chunkedbypass, clientcomfort, servercomfort, strict-file, mms-checksum] more...
    • mm1_addr_hdr (Alias name: mm1-addr-hdr) Http header field (for mm1) containing user address. type: str more...
    • mm1_addr_source (Alias name: mm1-addr-source) Source for mm1 user address. type: str choices: [http-header, cookie] more...
    • mm1_convert_hex (Alias name: mm1-convert-hex) Enable/disable converting user address from hex string for mm1. type: str choices: [disable, enable] more...
    • mm1_outbreak_prevention (Alias name: mm1-outbreak-prevention) Enable fortiguard virus outbreak prevention service. type: str choices: [disabled, files, full-archive] more...
    • mm1_retr_dupe (Alias name: mm1-retr-dupe) Enable/disable duplicate scanning of mm1 retr. type: str choices: [disable, enable] more...
    • mm1_retrieve_scan (Alias name: mm1-retrieve-scan) Enable/disable scanning on mm1 retrieve configuration messages. type: str choices: [disable, enable] more...
    • mm1comfortamount Mm1 comfort amount (0 - 4294967295). type: int more...
    • mm1comfortinterval Mm1 comfort interval (0 - 4294967295). type: int more...
    • mm1oversizelimit Maximum file size to scan (1 - 819200 kb). type: int more...
    • mm3 Mm3 options. type: list choices: [avmonitor, block, oversize, quarantine, scan, avquery, bannedword, no-content-summary, archive-summary, archive-full, carrier-endpoint-bwl, remove-blocked, fragmail, splice, mms-checksum] more...
    • mm3_outbreak_prevention (Alias name: mm3-outbreak-prevention) Enable fortiguard virus outbreak prevention service. type: str choices: [disabled, files, full-archive] more...
    • mm3oversizelimit Maximum file size to scan (1 - 819200 kb). type: int more...
    • mm4 Mm4 options. type: list choices: [avmonitor, block, oversize, quarantine, scan, avquery, bannedword, no-content-summary, archive-summary, archive-full, carrier-endpoint-bwl, remove-blocked, fragmail, splice, mms-checksum] more...
    • mm4_outbreak_prevention (Alias name: mm4-outbreak-prevention) Enable fortiguard virus outbreak prevention service. type: str choices: [disabled, files, full-archive] more...
    • mm4oversizelimit Maximum file size to scan (1 - 819200 kb). type: int more...
    • mm7 Mm7 options. type: list choices: [avmonitor, block, oversize, quarantine, scan, avquery, bannedword, no-content-summary, archive-summary, archive-full, carrier-endpoint-bwl, remove-blocked, chunkedbypass, clientcomfort, servercomfort, strict-file, mms-checksum] more...
    • mm7_addr_hdr (Alias name: mm7-addr-hdr) Http header field (for mm7) containing user address. type: str more...
    • mm7_addr_source (Alias name: mm7-addr-source) Source for mm7 user address. type: str choices: [http-header, cookie] more...
    • mm7_convert_hex (Alias name: mm7-convert-hex) Enable/disable conversion of user address from hex string for mm7. type: str choices: [disable, enable] more...
    • mm7_outbreak_prevention (Alias name: mm7-outbreak-prevention) Enable fortiguard virus outbreak prevention service. type: str choices: [disabled, files, full-archive] more...
    • mm7comfortamount Mm7 comfort amount (0 - 4294967295). type: int more...
    • mm7comfortinterval Mm7 comfort interval (0 - 4294967295). type: int more...
    • mm7oversizelimit Maximum file size to scan (1 - 819200 kb). type: int more...
    • mms_antispam_mass_log (Alias name: mms-antispam-mass-log) Enable/disable logging for mms antispam mass. type: str choices: [disable, enable] more...
    • mms_av_block_log (Alias name: mms-av-block-log) Enable/disable logging for mms antivirus file blocking. type: str choices: [disable, enable] more...
    • mms_av_oversize_log (Alias name: mms-av-oversize-log) Enable/disable logging for mms antivirus oversize file blocking. type: str choices: [disable, enable] more...
    • mms_av_virus_log (Alias name: mms-av-virus-log) Enable/disable logging for mms antivirus scanning. type: str choices: [disable, enable] more...
    • mms_carrier_endpoint_filter_log (Alias name: mms-carrier-endpoint-filter-log) Enable/disable logging for mms end point filter blocking. type: str choices: [disable, enable] more...
    • mms_checksum_log (Alias name: mms-checksum-log) Enable/disable mms content checksum logging. type: str choices: [disable, enable] more...
    • mms_checksum_table (Alias name: mms-checksum-table) Mms content checksum table id. type: str more...
    • mms_notification_log (Alias name: mms-notification-log) Enable/disable logging for mms notification messages. type: str choices: [disable, enable] more...
    • mms_web_content_log (Alias name: mms-web-content-log) Enable/disable logging for mms web content blocking. type: str choices: [disable, enable] more...
    • mmsbwordthreshold Mms banned word threshold. type: int more...
    • name Profile name. type: str more...
    • notif_msisdn (Alias name: notif-msisdn) Notif-msisdn. type: list more...
      • msisdn Recipient msisdn. type: str more...
      • threshold Thresholds on which this msisdn will receive an alert. type: list choices: [flood-thresh-1, flood-thresh-2, flood-thresh-3, dupe-thresh-1, dupe-thresh-2, dupe-thresh-3] more...
    • remove_blocked_const_length (Alias name: remove-blocked-const-length) Enable/disable mms replacement of blocked file constant length. type: str choices: [disable, enable] more...
    • replacemsg_group (Alias name: replacemsg-group) Replacement message group. type: str more...
    • dupe type: dict
      • action1 type: list choices: [log, archive, intercept, block, archive-first, alert-notif] more...
      • action2 type: list choices: [log, archive, intercept, block, archive-first, alert-notif] more...
      • action3 type: list choices: [log, archive, intercept, block, archive-first, alert-notif] more...
      • block_time1 (Alias name: block-time1) Duration for which action takes effect (0 - 35791 min). type: int more...
      • block_time2 (Alias name: block-time2) Duration for which action takes effect (0 - 35791 min). type: int more...
      • block_time3 (Alias name: block-time3) Duration action takes effect (0 - 35791 min). type: int more...
      • limit1 Maximum number of messages allowed. type: int more...
      • limit2 Maximum number of messages allowed. type: int more...
      • limit3 Maximum number of messages allowed. type: int more...
      • protocol Protocol. type: str more...
      • status1 Enable/disable status1 detection. type: str choices: [disable, enable] more...
      • status2 Enable/disable status2 detection. type: str choices: [disable, enable] more...
      • status3 Enable/disable status3 detection. type: str choices: [disable, enable] more...
      • window1 Window to count messages over (1 - 2880 min). type: int more...
      • window2 Window to count messages over (1 - 2880 min). type: int more...
      • window3 Window to count messages over (1 - 2880 min). type: int more...
    • flood type: dict
      • action1 type: list choices: [log, archive, intercept, block, archive-first, alert-notif] more...
      • action2 type: list choices: [log, archive, intercept, block, archive-first, alert-notif] more...
      • action3 type: list choices: [log, archive, intercept, block, archive-first, alert-notif] more...
      • block_time1 (Alias name: block-time1) Duration for which action takes effect (0 - 35791 min). type: int more...
      • block_time2 (Alias name: block-time2) Duration for which action takes effect (0 - 35791 min). type: int more...
      • block_time3 (Alias name: block-time3) Duration action takes effect (0 - 35791 min). type: int more...
      • limit1 Maximum number of messages allowed. type: int more...
      • limit2 Maximum number of messages allowed. type: int more...
      • limit3 Maximum number of messages allowed. type: int more...
      • protocol Protocol. type: str more...
      • status1 Enable/disable status1 detection. type: str choices: [disable, enable] more...
      • status2 Enable/disable status2 detection. type: str choices: [disable, enable] more...
      • status3 Enable/disable status3 detection. type: str choices: [disable, enable] more...
      • window1 Window to count messages over (1 - 2880 min). type: int more...
      • window2 Window to count messages over (1 - 2880 min). type: int more...
      • window3 Window to count messages over (1 - 2880 min). type: int more...
    • notification type: dict
      • alert_int (Alias name: alert-int) Alert notification send interval. type: int more...
      • alert_int_mode (Alias name: alert-int-mode) Alert notification interval mode. type: str choices: [hours, minutes] more...
      • alert_src_msisdn (Alias name: alert-src-msisdn) Specify from address for alert messages. type: str more...
      • alert_status (Alias name: alert-status) Alert notification status. type: str choices: [disable, enable] more...
      • bword_int (Alias name: bword-int) Banned word notification send interval. type: int more...
      • bword_int_mode (Alias name: bword-int-mode) Banned word notification interval mode. type: str choices: [hours, minutes] more...
      • bword_status (Alias name: bword-status) Banned word notification status. type: str choices: [disable, enable] more...
      • carrier_endpoint_bwl_int (Alias name: carrier-endpoint-bwl-int) Carrier end point black/white list notification send interval. type: int more...
      • carrier_endpoint_bwl_int_mode (Alias name: carrier-endpoint-bwl-int-mode) Carrier end point black/white list notification interval mode. type: str choices: [hours, minutes] more...
      • carrier_endpoint_bwl_status (Alias name: carrier-endpoint-bwl-status) Carrier end point black/white list notification status. type: str choices: [disable, enable] more...
      • days_allowed (Alias name: days-allowed) type: list choices: [sunday, monday, tuesday, wednesday, thursday, friday, saturday] more...
      • detect_server (Alias name: detect-server) Enable/disable automatic server address determination. type: str choices: [disable, enable] more...
      • dupe_int (Alias name: dupe-int) Duplicate notification send interval. type: int more...
      • dupe_int_mode (Alias name: dupe-int-mode) Duplicate notification interval mode. type: str choices: [hours, minutes] more...
      • dupe_status (Alias name: dupe-status) Duplicate notification status. type: str choices: [disable, enable] more...
      • file_block_int (Alias name: file-block-int) File block notification send interval. type: int more...
      • file_block_int_mode (Alias name: file-block-int-mode) File block notification interval mode. type: str choices: [hours, minutes] more...
      • file_block_status (Alias name: file-block-status) File block notification status. type: str choices: [disable, enable] more...
      • flood_int (Alias name: flood-int) Flood notification send interval. type: int more...
      • flood_int_mode (Alias name: flood-int-mode) Flood notification interval mode. type: str choices: [hours, minutes] more...
      • flood_status (Alias name: flood-status) Flood notification status. type: str choices: [disable, enable] more...
      • from_in_header (Alias name: from-in-header) Enable/disable insertion of from address in http header. type: str choices: [disable, enable] more...
      • mms_checksum_int (Alias name: mms-checksum-int) Mms checksum notification send interval. type: int more...
      • mms_checksum_int_mode (Alias name: mms-checksum-int-mode) Mms checksum notification interval mode. type: str choices: [hours, minutes] more...
      • mms_checksum_status (Alias name: mms-checksum-status) Mms checksum notification status. type: str choices: [disable, enable] more...
      • mmsc_hostname (Alias name: mmsc-hostname) Host name or ip address of the mmsc. type: str more...
      • mmsc_password (Alias name: mmsc-password) type: list more...
      • mmsc_port (Alias name: mmsc-port) Port used on the mmsc for sending mms messages (1 - 65535). type: int more...
      • mmsc_url (Alias name: mmsc-url) Url used on the mmsc for sending mms messages. type: str more...
      • mmsc_username (Alias name: mmsc-username) User name required for authentication with the mmsc. type: str more...
      • msg_protocol (Alias name: msg-protocol) Protocol to use for sending notification messages. type: str choices: [mm1, mm3, mm4, mm7] more...
      • msg_type (Alias name: msg-type) Mm7 message type. type: str choices: [submit-req, deliver-req] more...
      • protocol Protocol. type: str more...
      • rate_limit (Alias name: rate-limit) Rate limit for sending notification messages (0 - 250). type: int more...
      • tod_window_duration (Alias name: tod-window-duration) Time of day window duration. type: str more...
      • tod_window_end (Alias name: tod-window-end) Obsolete. type: str more...
      • tod_window_start (Alias name: tod-window-start) Time of day window start. type: str more...
      • user_domain (Alias name: user-domain) Domain name to which the user addresses belong. type: str more...
      • vas_id (Alias name: vas-id) Vas identifier. type: str more...
      • vasp_id (Alias name: vasp-id) Vasp identifier. type: str more...
      • virus_int (Alias name: virus-int) Virus notification send interval. type: int more...
      • virus_int_mode (Alias name: virus-int-mode) Virus notification interval mode. type: str choices: [hours, minutes] more...
      • virus_status (Alias name: virus-status) Virus notification status. type: str choices: [disable, enable] more...
    • outbreak_prevention (Alias name: outbreak-prevention) type: dict
      • external_blocklist (Alias name: external-blocklist) Enable/disable external malware blocklist. type: str choices: [disable, enable] more...
      • ftgd_service (Alias name: ftgd-service) Enable/disable fortiguard virus outbreak prevention service. type: str choices: [disable, enable] more...

Notes

Note

  • Running in workspace locking mode is supported in this FortiManager module, the top level parameters workspace_locking_adom and workspace_locking_timeout help do the work.

  • To create or update an object, use state: present directive.

  • To delete an object, use state: absent directive

  • Normally, running one module can fail when a non-zero rc is returned. you can also override the conditions to fail or succeed with parameters rc_failed and rc_succeeded

Examples

- name: Example playbook
  hosts: fortimanagers
  connection: httpapi
  vars:
    ansible_httpapi_use_ssl: true
    ansible_httpapi_validate_certs: false
    ansible_httpapi_port: 443
  tasks:
    - name: Configure MMS profiles.
      fortinet.fortimanager.fmgr_firewall_mmsprofile:
        bypass_validation: false
        adom: FortiCarrier # FortiCarrier only object, need a FortiCarrier adom
        state: present
        firewall_mmsprofile:
          comment: "ansible-comment"
          # extended-utm-log: disable
          mm1:
            - avmonitor
            - block
            - oversize
            - quarantine
            - scan
            - avquery
            - bannedword
            - no-content-summary
            - archive-summary
            - archive-full
            - carrier-endpoint-bwl
            - remove-blocked
            - chunkedbypass
            - clientcomfort
            - servercomfort
            - strict-file
            - mms-checksum
          mm3:
            - avmonitor
            - block
            - oversize
            - quarantine
            - scan
            - avquery
            - bannedword
            - no-content-summary
            - archive-summary
            - archive-full
            - carrier-endpoint-bwl
            - remove-blocked
            - fragmail
            - splice
            - mms-checksum
          mm4:
            - avmonitor
            - block
            - oversize
            - quarantine
            - scan
            - avquery
            - bannedword
            - no-content-summary
            - archive-summary
            - archive-full
            - carrier-endpoint-bwl
            - remove-blocked
            - fragmail
            - splice
            - mms-checksum
          mm7:
            - avmonitor
            - block
            - oversize
            - quarantine
            - scan
            - avquery
            - bannedword
            - no-content-summary
            - archive-summary
            - archive-full
            - carrier-endpoint-bwl
            - remove-blocked
            - chunkedbypass
            - clientcomfort
            - servercomfort
            - strict-file
            - mms-checksum
          name: "ansible-test"

- name: Gathering fortimanager facts
  hosts: fortimanagers
  gather_facts: false
  connection: httpapi
  vars:
    ansible_httpapi_use_ssl: true
    ansible_httpapi_validate_certs: false
    ansible_httpapi_port: 443
  tasks:
    - name: Retrieve all the MMS profiles
      fortinet.fortimanager.fmgr_fact:
        facts:
          selector: "firewall_mmsprofile"
          params:
            adom: "FortiCarrier" # FortiCarrier only object, need a FortiCarrier adom
            mms-profile: "your_value"

Return Values

Common return values are documented: https://docs.ansible.com/ansible/latest/reference_appendices/common_return_values.html#common-return-values, the following are the fields unique to this module:

  • meta - The result of the request.returned: always type: dict
    • request_url - The full url requested. returned: always type: str sample: /sys/login/user
    • response_code - The status of api request. returned: always type: int sample: 0
    • response_data - The data body of the api response. returned: optional type: list or dict
    • response_message - The descriptive message of the api response. returned: always type: str sample: OK
    • system_information - The information of the target system. returned: always type: dict
  • rc - The status the request. returned: always type: int sample: 0
  • version_check_warning - Warning if the parameters used in the playbook are not supported by the current FortiManager version. returned: if at least one parameter not supported by the current FortiManager version type: list

Status

  • This module is not guaranteed to have a backwards compatible interface.

Authors

  • Xinwei Du (@dux-fortinet)

  • Xing Li (@lix-fortinet)

  • Jie Xue (@JieX19)

  • Link Zheng (@chillancezen)

  • Frank Shen (@fshen01)

  • Hongbin Lu (@fgtdev-hblu)