fortinet.fortimanager.fmgr_pkg_firewall_proxypolicy – Configure proxy policies.

Note

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

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

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

New in version 2.10: of fortinet.fortimanager

Synopsis

  • This module is able to configure a FortiManager device.

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

Parameters

Parameter Choices/Defaults Comments
adom
string / required
the parameter (adom) in requested url
bypass_validation
boolean
    Choices:
  • no ←
  • yes
only set to True when module schema diffs with FortiManager API structure, module continues to execute without validating parameters
pkg
string / required
the parameter (pkg) in requested url
pkg_firewall_proxypolicy
dictionary
the top level parameters set
action
string
    Choices:
  • accept
  • deny
  • redirect
Accept or deny traffic matching the policy parameters.
application-list
string
Name of an existing Application list.
av-profile
string
Name of an existing Antivirus profile.
comments
string
Optional comments.
disclaimer
string
    Choices:
  • disable
  • domain
  • policy
  • user
Web proxy disclaimer setting: by domain, policy, or user.
dlp-sensor
string
Name of an existing DLP sensor.
dstaddr
string
Destination address objects.
dstaddr-negate
string
    Choices:
  • disable
  • enable
When enabled, destination addresses match against any address EXCEPT the specified destination addresses.
dstaddr6
string
IPv6 destination address objects.
dstintf
string
Destination interface names.
global-label
string
Global web-based manager visible label.
groups
string
Names of group objects.
http-tunnel-auth
string
    Choices:
  • disable
  • enable
Enable/disable HTTP tunnel authentication.
icap-profile
string
Name of an existing ICAP profile.
internet-service
string
    Choices:
  • disable
  • enable
Enable/disable use of Internet Services for this policy. If enabled, destination address and service are not used.
internet-service-custom
string
Custom Internet Service name.
internet-service-id
string
Internet Service ID.
internet-service-negate
string
    Choices:
  • disable
  • enable
When enabled, Internet Services match against any internet service EXCEPT the selected Internet Service.
ips-sensor
string
Name of an existing IPS sensor.
label
string
VDOM-specific GUI visible label.
logtraffic
string
    Choices:
  • disable
  • all
  • utm
Enable/disable logging traffic through the policy.
logtraffic-start
string
    Choices:
  • disable
  • enable
Enable/disable policy log traffic start.
mms-profile
string
Name of an existing MMS profile.
policyid
integer
Policy ID.
poolname
string
Name of IP pool object.
profile-group
string
Name of profile group.
profile-protocol-options
string
Name of an existing Protocol options profile.
profile-type
string
    Choices:
  • single
  • group
Determine whether the firewall policy allows security profile groups or single profiles only.
proxy
string
    Choices:
  • explicit-web
  • transparent-web
  • ftp
  • wanopt
  • ssh
  • ssh-tunnel
Type of explicit proxy.
redirect-url
string
Redirect URL for further explicit web proxy processing.
replacemsg-override-group
string
Authentication replacement message override group.
scan-botnet-connections
string
    Choices:
  • disable
  • block
  • monitor
Enable/disable scanning of connections to Botnet servers.
schedule
string
Name of schedule object.
service
string
Name of service objects.
service-negate
string
    Choices:
  • disable
  • enable
When enabled, services match against any service EXCEPT the specified destination services.
spamfilter-profile
string
Name of an existing Spam filter profile.
srcaddr
string
Source address objects (must be set when using Web proxy).
srcaddr-negate
string
    Choices:
  • disable
  • enable
When enabled, source addresses match against any address EXCEPT the specified source addresses.
srcaddr6
string
IPv6 source address objects.
srcintf
string
Source interface names.
ssl-ssh-profile
string
Name of an existing SSL SSH profile.
status
string
    Choices:
  • disable
  • enable
Enable/disable the active status of the policy.
tags
string
Names of object-tags applied to address. Tags need to be preconfigured in config system object-tag. Separate multiple tags wit...
transparent
string
    Choices:
  • disable
  • enable
Enable to use the IP address of the client to connect to the server.
users
string
Names of user objects.
utm-status
string
    Choices:
  • disable
  • enable
Enable the use of UTM profiles/sensors/lists.
uuid
string
Universally Unique Identifier (UUID; automatically assigned but can be manually reset).
waf-profile
string
Name of an existing Web application firewall profile.
webcache
string
    Choices:
  • disable
  • enable
Enable/disable web caching.
webcache-https
string
    Choices:
  • disable
  • enable
Enable/disable web caching for HTTPS (Requires deep-inspection enabled in ssl-ssh-profile).
webfilter-profile
string
Name of an existing Web filter profile.
webproxy-forward-server
string
Name of web proxy forward server.
webproxy-profile
string
Name of web proxy profile.
rc_failed
list / elements=string
the rc codes list with which the conditions to fail will be overriden
rc_succeeded
list / elements=string
the rc codes list with which the conditions to succeed will be overriden
state
string / required
    Choices:
  • present
  • absent
the directive to create, update or delete an object
workspace_locking_adom
string
the adom to lock for FortiManager running in workspace mode, the value can be global and others including root
workspace_locking_timeout
integer
Default:
300
the maximum time in seconds to wait for other user to release the workspace lock

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

- 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: Configure proxy policies.
     fmgr_pkg_firewall_proxypolicy:
        bypass_validation: False
        workspace_locking_adom: <value in [global, custom adom including root]>
        workspace_locking_timeout: 300
        rc_succeeded: [0, -2, -3, ...]
        rc_failed: [-2, -3, ...]
        adom: <your own value>
        pkg: <your own value>
        state: <value in [present, absent]>
        pkg_firewall_proxypolicy:
           action: <value in [accept, deny, redirect]>
           application-list: <value of string>
           av-profile: <value of string>
           comments: <value of string>
           disclaimer: <value in [disable, domain, policy, ...]>
           dlp-sensor: <value of string>
           dstaddr: <value of string>
           dstaddr-negate: <value in [disable, enable]>
           dstaddr6: <value of string>
           dstintf: <value of string>
           global-label: <value of string>
           groups: <value of string>
           http-tunnel-auth: <value in [disable, enable]>
           icap-profile: <value of string>
           internet-service: <value in [disable, enable]>
           internet-service-custom: <value of string>
           internet-service-id: <value of string>
           internet-service-negate: <value in [disable, enable]>
           ips-sensor: <value of string>
           label: <value of string>
           logtraffic: <value in [disable, all, utm]>
           logtraffic-start: <value in [disable, enable]>
           mms-profile: <value of string>
           policyid: <value of integer>
           poolname: <value of string>
           profile-group: <value of string>
           profile-protocol-options: <value of string>
           profile-type: <value in [single, group]>
           proxy: <value in [explicit-web, transparent-web, ftp, ...]>
           redirect-url: <value of string>
           replacemsg-override-group: <value of string>
           scan-botnet-connections: <value in [disable, block, monitor]>
           schedule: <value of string>
           service: <value of string>
           service-negate: <value in [disable, enable]>
           spamfilter-profile: <value of string>
           srcaddr: <value of string>
           srcaddr-negate: <value in [disable, enable]>
           srcaddr6: <value of string>
           srcintf: <value of string>
           ssl-ssh-profile: <value of string>
           status: <value in [disable, enable]>
           tags: <value of string>
           transparent: <value in [disable, enable]>
           users: <value of string>
           utm-status: <value in [disable, enable]>
           uuid: <value of string>
           waf-profile: <value of string>
           webcache: <value in [disable, enable]>
           webcache-https: <value in [disable, enable]>
           webfilter-profile: <value of string>
           webproxy-forward-server: <value of string>
           webproxy-profile: <value of string>

Return Values

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

Key Returned Description
request_url
string
always
The full url requested

Sample:
/sys/login/user
response_code
integer
always
The status of api request

response_message
string
always
The descriptive message of the api response

Sample:
OK.


Authors

  • Link Zheng (@chillancezen)

  • Jie Xue (@JieX19)

  • Frank Shen (@fshen01)

  • Hongbin Lu (@fgtdev-hblu)