# fmgr_fwpol_ipv4 – Allows the add/delete of Firewall Policies on Packages in FortiManager

New in version 2.8.

- Synopsis

- Parameters

- Notes

- Examples

- Return Values

- Status

## Synopsis

- Allows the add/delete of Firewall Policies on Packages in FortiManager.

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---

action
-

Choices:
- deny
- accept
- ipsec

Policy action (allow/deny/ipsec).
choice | deny | Blocks sessions that match the firewall policy.
choice | accept | Allows session that match the firewall policy.
choice | ipsec | Firewall policy becomes a policy-based IPsec VPN policy.

adom - | Default: "root" | The ADOM the configuration should belong to.
app_category - |  | Application category ID list.
app_group - |  | Application group names.
application - |  | Application ID list.
application_list - |  | Name of an existing Application list.
auth_cert - |  | HTTPS server certificate for policy authentication.

auth_path
-

Choices:
- disable
- enable

Enable/disable authentication-based routing.
choice | disable | Disable authentication-based routing.
choice | enable | Enable authentication-based routing.

auth_redirect_addr - |  | HTTP-to-HTTPS redirect address for firewall authentication.

auto_asic_offload
-

Choices:
- disable
- enable

Enable/disable offloading security profile processing to CP processors.
choice | disable | Disable ASIC offloading.
choice | enable | Enable auto ASIC offloading.

av_profile - |  | Name of an existing Antivirus profile.

block_notification
-

Choices:
- disable
- enable

Enable/disable block notification.
choice | disable | Disable setting.
choice | enable | Enable setting.

captive_portal_exempt
-

Choices:
- disable
- enable

Enable to exempt some users from the captive portal.
choice | disable | Disable exemption of captive portal.
choice | enable | Enable exemption of captive portal.

capture_packet
-

Choices:
- disable
- enable

Enable/disable capture packets.
choice | disable | Disable capture packets.
choice | enable | Enable capture packets.

comments - |  | Comment.
custom_log_fields - |  | Custom fields to append to log messages for this policy.

delay_tcp_npu_session
-

Choices:
- disable
- enable

Enable TCP NPU session delay to guarantee packet order of 3-way handshake.
choice | disable | Disable TCP NPU session delay in order to guarantee packet order of 3-way handshake.
choice | enable | Enable TCP NPU session delay in order to guarantee packet order of 3-way handshake.

devices - |  | Names of devices or device groups that can be matched by the policy.

diffserv_forward
-

Choices:
- disable
- enable

Enable to change packet's DiffServ values to the specified diffservcode-forward value.
choice | disable | Disable WAN optimization.
choice | enable | Enable WAN optimization.

diffserv_reverse
-

Choices:
- disable
- enable

Enable to change packet's reverse (reply) DiffServ values to the specified diffservcode-rev value.
choice | disable | Disable setting.
choice | enable | Enable setting.

diffservcode_forward - |  | Change packet's DiffServ to this value.
diffservcode_rev - |  | Change packet's reverse (reply) DiffServ to this value.

disclaimer
-

Choices:
- disable
- enable

Enable/disable user authentication disclaimer.
choice | disable | Disable user authentication disclaimer.
choice | enable | Enable user authentication disclaimer.

dlp_sensor - |  | Name of an existing DLP sensor.
dnsfilter_profile - |  | Name of an existing DNS filter profile.

dscp_match
-

Choices:
- disable
- enable

Enable DSCP check.
choice | disable | Disable DSCP check.
choice | enable | Enable DSCP check.

dscp_negate
-

Choices:
- disable
- enable

Enable negated DSCP match.
choice | disable | Disable DSCP negate.
choice | enable | Enable DSCP negate.

dscp_value - |  | DSCP value.

dsri
-

Choices:
- disable
- enable

Enable DSRI to ignore HTTP server responses.
choice | disable | Disable DSRI.
choice | enable | Enable DSRI.

dstaddr - |  | Destination address and address group names.

dstaddr_negate
-

Choices:
- disable
- enable

When enabled dstaddr specifies what the destination address must NOT be.
choice | disable | Disable destination address negate.
choice | enable | Enable destination address negate.

dstintf - |  | Outgoing (egress) interface.

fail_on_missing_dependency
-
added in 2.9

Choices:
- enable
- disable ←

Normal behavior is to "skip" tasks that fail dependency checks, so other tasks can run.
If set to "enabled" if a failed dependency check happeens, Ansible will exit as with failure instead of skip.

firewall_session_dirty
-

Choices:
- check-all
- check-new

How to handle sessions if the configuration of this firewall policy changes.
choice | check-all | Flush all current sessions accepted by this policy.
choice | check-new | Continue to allow sessions already accepted by this policy.

fixedport
-

Choices:
- disable
- enable

Enable to prevent source NAT from changing a session's source port.
choice | disable | Disable setting.
choice | enable | Enable setting.

fsso
-

Choices:
- disable
- enable

Enable/disable Fortinet Single Sign-On.
choice | disable | Disable setting.
choice | enable | Enable setting.

fsso_agent_for_ntlm - |  | FSSO agent to use for NTLM authentication.
global_label - |  | Label for the policy that appears when the GUI is in Global View mode.
groups - |  | Names of user groups that can authenticate with this policy.
gtp_profile - |  | GTP profile.
icap_profile - |  | Name of an existing ICAP profile.
identity_based_route - |  | Name of identity-based routing rule.

inbound
-

Choices:
- disable
- enable

Policy-based IPsec VPN | only traffic from the remote network can initiate a VPN.
choice | disable | Disable setting.
choice | enable | Enable setting.

internet_service
-

Choices:
- disable
- enable

Enable/disable use of Internet Services for this policy. If enabled, dstaddr and service are not used.
choice | disable | Disable use of Internet Services in policy.
choice | enable | Enable use of Internet Services in policy.

internet_service_custom - |  | Custom Internet Service name.
internet_service_id - |  | Internet Service ID.

internet_service_negate
-

Choices:
- disable
- enable

When enabled internet-service specifies what the service must NOT be.
choice | disable | Disable negated Internet Service match.
choice | enable | Enable negated Internet Service match.

internet_service_src
-

Choices:
- disable
- enable

Enable/disable use of Internet Services in source for this policy. If enabled, source address is not used.
choice | disable | Disable use of Internet Services source in policy.
choice | enable | Enable use of Internet Services source in policy.

internet_service_src_custom - |  | Custom Internet Service source name.
internet_service_src_id - |  | Internet Service source ID.

internet_service_src_negate
-

Choices:
- disable
- enable

When enabled internet-service-src specifies what the service must NOT be.
choice | disable | Disable negated Internet Service source match.
choice | enable | Enable negated Internet Service source match.

ippool
-

Choices:
- disable
- enable

Enable to use IP Pools for source NAT.
choice | disable | Disable setting.
choice | enable | Enable setting.

ips_sensor - |  | Name of an existing IPS sensor.
label - |  | Label for the policy that appears when the GUI is in Section View mode.

learning_mode
-

Choices:
- disable
- enable

Enable to allow everything, but log all of the meaningful data for security information gathering.
choice | disable | Disable learning mode in firewall policy.
choice | enable | Enable learning mode in firewall policy.

logtraffic
-

Choices:
- disable
- all
- utm

Enable or disable logging. Log all sessions or security profile sessions.
choice | disable | Disable all logging for this policy.
choice | all | Log all sessions accepted or denied by this policy.
choice | utm | Log traffic that has a security profile applied to it.

logtraffic_start
-

Choices:
- disable
- enable

Record logs when a session starts and ends.
choice | disable | Disable setting.
choice | enable | Enable setting.

match_vip
-

Choices:
- disable
- enable

Enable to match packets that have had their destination addresses changed by a VIP.
choice | disable | Do not match DNATed packet.
choice | enable | Match DNATed packet.

mms_profile - |  | Name of an existing MMS profile.

mode
-

Choices:
- add ←
- set
- delete
- update

Sets one of three modes for managing the object.
Allows use of soft-adds instead of overwriting existing values

name - |  | Policy name.

nat
-

Choices:
- disable
- enable

Enable/disable source NAT.
choice | disable | Disable setting.
choice | enable | Enable setting.

natinbound
-

Choices:
- disable
- enable

Policy-based IPsec VPN | apply destination NAT to inbound traffic.
choice | disable | Disable setting.
choice | enable | Enable setting.

natip - |  | Policy-based IPsec VPN | source NAT IP address for outgoing traffic.

natoutbound
-

Choices:
- disable
- enable

Policy-based IPsec VPN | apply source NAT to outbound traffic.
choice | disable | Disable setting.
choice | enable | Enable setting.

np_acceleration
-

Choices:
- disable
- enable

Enable/disable UTM Network Processor acceleration.
choice | disable | Disable UTM Network Processor acceleration.
choice | enable | Enable UTM Network Processor acceleration.

ntlm
-

Choices:
- disable
- enable

Enable/disable NTLM authentication.
choice | disable | Disable setting.
choice | enable | Enable setting.

ntlm_enabled_browsers - |  | HTTP-User-Agent value of supported browsers.

ntlm_guest
-

Choices:
- disable
- enable

Enable/disable NTLM guest user access.
choice | disable | Disable setting.
choice | enable | Enable setting.

outbound
-

Choices:
- disable
- enable

Policy-based IPsec VPN | only traffic from the internal network can initiate a VPN.
choice | disable | Disable setting.
choice | enable | Enable setting.

package_name - | Default: "default" | The policy package you want to modify
per_ip_shaper - |  | Per-IP traffic shaper.

permit_any_host
-

Choices:
- disable
- enable

Accept UDP packets from any host.
choice | disable | Disable setting.
choice | enable | Enable setting.

permit_stun_host
-

Choices:
- disable
- enable

Accept UDP packets from any Session Traversal Utilities for NAT (STUN) host.
choice | disable | Disable setting.
choice | enable | Enable setting.

policyid - |  | Policy ID.
poolname - |  | IP Pool names.
profile_group - |  | Name of profile group.
profile_protocol_options - |  | Name of an existing Protocol options profile.

profile_type
-

Choices:
- single
- group

Determine whether the firewall policy allows security profile groups or single profiles only.
choice | single | Do not allow security profile groups.
choice | group | Allow security profile groups.

radius_mac_auth_bypass
-

Choices:
- disable
- enable

Enable MAC authentication bypass. The bypassed MAC address must be received from RADIUS server.
choice | disable | Disable MAC authentication bypass.
choice | enable | Enable MAC authentication bypass.

redirect_url - |  | URL users are directed to after seeing and accepting the disclaimer or authenticating.
replacemsg_override_group - |  | Override the default replacement message group for this policy.

rsso
-

Choices:
- disable
- enable

Enable/disable RADIUS single sign-on (RSSO).
choice | disable | Disable setting.
choice | enable | Enable setting.

rtp_addr - |  | Address names if this is an RTP NAT policy.

rtp_nat
-

Choices:
- disable
- enable

Enable Real Time Protocol (RTP) NAT.
choice | disable | Disable setting.
choice | enable | Enable setting.

scan_botnet_connections
-

Choices:
- disable
- block
- monitor

Block or monitor connections to Botnet servers or disable Botnet scanning.
choice | disable | Do not scan connections to botnet servers.
choice | block | Block connections to botnet servers.
choice | monitor | Log connections to botnet servers.

schedule - |  | Schedule name.

schedule_timeout
-

Choices:
- disable
- enable

Enable to force current sessions to end when the schedule object times out.
choice | disable | Disable schedule timeout.
choice | enable | Enable schedule timeout.

send_deny_packet
-

Choices:
- disable
- enable

Enable to send a reply when a session is denied or blocked by a firewall policy.
choice | disable | Disable deny-packet sending.
choice | enable | Enable deny-packet sending.

service - |  | Service and service group names.

service_negate
-

Choices:
- disable
- enable

When enabled service specifies what the service must NOT be.
choice | disable | Disable negated service match.
choice | enable | Enable negated service match.

session_ttl - |  | TTL in seconds for sessions accepted by this policy (0 means use the system default session TTL).
spamfilter_profile - |  | Name of an existing Spam filter profile.
srcaddr - |  | Source address and address group names.

srcaddr_negate
-

Choices:
- disable
- enable

When enabled srcaddr specifies what the source address must NOT be.
choice | disable | Disable source address negate.
choice | enable | Enable source address negate.

srcintf - |  | Incoming (ingress) interface.
ssh_filter_profile - |  | Name of an existing SSH filter profile.

ssl_mirror
-

Choices:
- disable
- enable

Enable to copy decrypted SSL traffic to a FortiGate interface (called SSL mirroring).
choice | disable | Disable SSL mirror.
choice | enable | Enable SSL mirror.

ssl_mirror_intf - |  | SSL mirror interface name.
ssl_ssh_profile - |  | Name of an existing SSL SSH profile.

status
-

Choices:
- disable
- enable

Enable or disable this policy.
choice | disable | Disable setting.
choice | enable | Enable setting.

tcp_mss_receiver - |  | Receiver TCP maximum segment size (MSS).
tcp_mss_sender - |  | Sender TCP maximum segment size (MSS).

tcp_session_without_syn
-

Choices:
- all
- data-only
- disable

Enable/disable creation of TCP session without SYN flag.
choice | all | Enable TCP session without SYN.
choice | data-only | Enable TCP session data only.
choice | disable | Disable TCP session without SYN.

timeout_send_rst
-

Choices:
- disable
- enable

Enable/disable sending RST packets when TCP sessions expire.
choice | disable | Disable sending of RST packet upon TCP session expiration.
choice | enable | Enable sending of RST packet upon TCP session expiration.

traffic_shaper - |  | Traffic shaper.
traffic_shaper_reverse - |  | Reverse traffic shaper.
url_category - |  | URL category ID list.
users - |  | Names of individual users that can authenticate with this policy.

utm_status
-

Choices:
- disable
- enable

Enable to add one or more security profiles (AV, IPS, etc.) to the firewall policy.
choice | disable | Disable setting.
choice | enable | Enable setting.

vlan_cos_fwd - |  | VLAN forward direction user priority | 255 passthrough, 0 lowest, 7 highest.
vlan_cos_rev - |  | VLAN reverse direction user priority | 255 passthrough, 0 lowest, 7 highest..
vlan_filter - |  | Set VLAN filters.
voip_profile - |  | Name of an existing VoIP profile.

vpn_dst_node
-

EXPERTS ONLY! KNOWLEDGE OF FMGR JSON API IS REQUIRED!
List of multiple child objects to be added. Expects a list of dictionaries.
Dictionaries must use FortiManager API parameters, not the ansible ones listed below.
If submitted, all other prefixed sub-parameters ARE IGNORED. This object is MUTUALLY EXCLUSIVE with its options.
We expect that you know what you are doing with these list parameters, and are leveraging the JSON API Guide.

vpn_dst_node_host - |  | VPN Destination Node Host.
vpn_dst_node_seq - |  | VPN Destination Node Seq.
vpn_dst_node_subnet - |  | VPN Destination Node Seq.

vpn_src_node
-

EXPERTS ONLY! KNOWLEDGE OF FMGR JSON API IS REQUIRED!
List of multiple child objects to be added. Expects a list of dictionaries.
Dictionaries must use FortiManager API parameters, not the ansible ones listed below.
If submitted, all other prefixed sub-parameters ARE IGNORED. This object is MUTUALLY EXCLUSIVE with its options.
We expect that you know what you are doing with these list parameters, and are leveraging the JSON API Guide.

vpn_src_node_host - |  | VPN Source Node Host.
vpn_src_node_seq - |  | VPN Source Node Seq.
vpn_src_node_subnet - |  | VPN Source Node.
vpntunnel - |  | Policy-based IPsec VPN | name of the IPsec VPN Phase 1.
waf_profile - |  | Name of an existing Web application firewall profile.

wanopt
-

Choices:
- disable
- enable

Enable/disable WAN optimization.
choice | disable | Disable setting.
choice | enable | Enable setting.

wanopt_detection
-

Choices:
- active
- passive
- off

WAN optimization auto-detection mode.
choice | active | Active WAN optimization peer auto-detection.
choice | passive | Passive WAN optimization peer auto-detection.
choice | off | Turn off WAN optimization peer auto-detection.

wanopt_passive_opt
-

Choices:
- default
- transparent
- non-transparent

WAN optimization passive mode options. This option decides what IP address will be used to connect server.
choice | default | Allow client side WAN opt peer to decide.
choice | transparent | Use address of client to connect to server.
choice | non-transparent | Use local FortiGate address to connect to server.

wanopt_peer - |  | WAN optimization peer.
wanopt_profile - |  | WAN optimization profile.

wccp
-

Choices:
- disable
- enable

Enable/disable forwarding traffic matching this policy to a configured WCCP server.
choice | disable | Disable WCCP setting.
choice | enable | Enable WCCP setting.

webcache
-

Choices:
- disable
- enable

Enable/disable web cache.
choice | disable | Disable setting.
choice | enable | Enable setting.

webcache_https
-

Choices:
- disable
- enable

Enable/disable web cache for HTTPS.
choice | disable | Disable web cache for HTTPS.
choice | enable | Enable web cache for HTTPS.

webfilter_profile - |  | Name of an existing Web filter profile.

wsso
-

Choices:
- disable
- enable

Enable/disable WiFi Single Sign On (WSSO).
choice | disable | Disable setting.
choice | enable | Enable setting.

## Notes

Note

- Full Documentation at https://ftnt-ansible-docs.readthedocs.io/en/latest/.

## Examples

    - name: ADD VERY BASIC IPV4 POLICY WITH NO NAT (WIDE OPEN)
      fmgr_fwpol_ipv4:
        mode: "set"
        adom: "ansible"
        package_name: "default"
        name: "Basic_IPv4_Policy"
        comments: "Created by Ansible"
        action: "accept"
        dstaddr: "all"
        srcaddr: "all"
        dstintf: "any"
        srcintf: "any"
        logtraffic: "utm"
        service: "ALL"
        schedule: "always"

    - name: ADD VERY BASIC IPV4 POLICY WITH NAT AND MULTIPLE ENTRIES
      fmgr_fwpol_ipv4:
        mode: "set"
        adom: "ansible"
        package_name: "default"
        name: "Basic_IPv4_Policy_2"
        comments: "Created by Ansible"
        action: "accept"
        dstaddr: "google-play"
        srcaddr: "all"
        dstintf: "any"
        srcintf: "any"
        logtraffic: "utm"
        service: "HTTP, HTTPS"
        schedule: "always"
        nat: "enable"
        users: "karen, kevin"

    - name: ADD VERY BASIC IPV4 POLICY WITH NAT AND MULTIPLE ENTRIES AND SEC PROFILES
      fmgr_fwpol_ipv4:
        mode: "set"
        adom: "ansible"
        package_name: "default"
        name: "Basic_IPv4_Policy_3"
        comments: "Created by Ansible"
        action: "accept"
        dstaddr: "google-play, autoupdate.opera.com"
        srcaddr: "corp_internal"
        dstintf: "zone_wan1, zone_wan2"
        srcintf: "zone_int1"
        logtraffic: "utm"
        service: "HTTP, HTTPS"
        schedule: "always"
        nat: "enable"
        users: "karen, kevin"
        av_profile: "sniffer-profile"
        ips_sensor: "default"

## Return Values

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

Key | Returned | Description
--- | --- | ---
api_result string | always | full API response, includes status code and message

## Status

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

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

### Authors

- Luke Weighall (@lweighall)

- Andrew Welsh (@Ghilli3)

- Jim Huber (@p4r4n0y1ng)

Hint

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