# fmgr_secprof_wanopt – WAN optimization

New in version 2.8.

- Synopsis
- Parameters
- Notes
- Examples
- Return Values
- Status

## Synopsis

- Manage WanOpt security profiles in FortiManager via API

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
adom - | Default: "root" | The ADOM the configuration should belong to.
auth_group - |  | Optionally add an authentication group to restrict access to the WAN Optimization tunnel to peers in the authentication group.

cifs
-

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.
WHEN IN DOUBT, USE THE SUB OPTIONS BELOW INSTEAD TO CREATE OBJECTS WITH MULTIPLE TASKS

cifs_byte_caching
-

Choices:
- disable
- enable

Enable/disable byte-caching for HTTP. Byte caching reduces the amount of traffic by caching file data sent across the WAN and in future serving if from the cache.

cifs_log_traffic
-

Choices:
- disable
- enable

Enable/disable logging.

cifs_port - |  | Single port number or port number range for CIFS. Only packets with a destination port number that matches this port number or range are accepted by this profile.

cifs_prefer_chunking
-

Choices:
- dynamic
- fix

Select dynamic or fixed-size data chunking for HTTP WAN Optimization.

cifs_secure_tunnel
-

Choices:
- disable
- enable

Enable/disable securing the WAN Opt tunnel using SSL. Secure and non-secure tunnels use the same TCP port (7810).

cifs_status
-

Choices:
- disable
- enable

Enable/disable HTTP WAN Optimization.

cifs_tunnel_sharing
-

Choices:
- private
- shared
- express-shared

Tunnel sharing mode for aggressive/non-aggressive and/or interactive/non-interactive protocols.

comments - |  | Comment.

ftp
-

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.
WHEN IN DOUBT, USE THE SUB OPTIONS BELOW INSTEAD TO CREATE OBJECTS WITH MULTIPLE TASKS

ftp_byte_caching
-

Choices:
- disable
- enable

Enable/disable byte-caching for HTTP. Byte caching reduces the amount of traffic by caching file data sent across the WAN and in future serving if from the cache.

ftp_log_traffic
-

Choices:
- disable
- enable

Enable/disable logging.

ftp_port - |  | Single port number or port number range for FTP. Only packets with a destination port number that matches this port number or range are accepted by this profile.

ftp_prefer_chunking
-

Choices:
- dynamic
- fix

Select dynamic or fixed-size data chunking for HTTP WAN Optimization.

ftp_secure_tunnel
-

Choices:
- disable
- enable

Enable/disable securing the WAN Opt tunnel using SSL. Secure and non-secure tunnels use the same TCP port (7810).

ftp_status
-

Choices:
- disable
- enable

Enable/disable HTTP WAN Optimization.

ftp_tunnel_sharing
-

Choices:
- private
- shared
- express-shared

Tunnel sharing mode for aggressive/non-aggressive and/or interactive/non-interactive protocols.

http
-

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.
WHEN IN DOUBT, USE THE SUB OPTIONS BELOW INSTEAD TO CREATE OBJECTS WITH MULTIPLE TASKS

http_byte_caching
-

Choices:
- disable
- enable

Enable/disable byte-caching for HTTP. Byte caching reduces the amount of traffic by caching file data sent across the WAN and in future serving if from the cache.

http_log_traffic
-

Choices:
- disable
- enable

Enable/disable logging.

http_port - |  | Single port number or port number range for HTTP. Only packets with a destination port number that matches this port number or range are accepted by this profile.

http_prefer_chunking
-

Choices:
- dynamic
- fix

Select dynamic or fixed-size data chunking for HTTP WAN Optimization.

http_secure_tunnel
-

Choices:
- disable
- enable

Enable/disable securing the WAN Opt tunnel using SSL. Secure and non-secure tunnels use the same TCP port (7810).

http_ssl
-

Choices:
- disable
- enable

Enable/disable SSL/TLS offloading (hardware acceleration) for HTTPS traffic in this tunnel.

http_ssl_port - |  | Port on which to expect HTTPS traffic for SSL/TLS offloading.

http_status
-

Choices:
- disable
- enable

Enable/disable HTTP WAN Optimization.

http_tunnel_non_http
-

Choices:
- disable
- enable

Configure how to process non-HTTP traffic when a profile configured for HTTP traffic accepts a non-HTTP session. Can occur if an application sends non-HTTP traffic using an HTTP destination port.

http_tunnel_sharing
-

Choices:
- private
- shared
- express-shared

Tunnel sharing mode for aggressive/non-aggressive and/or interactive/non-interactive protocols.

http_unknown_http_version
-

Choices:
- best-effort
- reject
- tunnel

How to handle HTTP sessions that do not comply with HTTP 0.9, 1.0, or 1.1.

mapi
-

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.
WHEN IN DOUBT, USE THE SUB OPTIONS BELOW INSTEAD TO CREATE OBJECTS WITH MULTIPLE TASKS

mapi_byte_caching
-

Choices:
- disable
- enable

Enable/disable byte-caching for HTTP. Byte caching reduces the amount of traffic by caching file data sent across the WAN and in future serving if from the cache.

mapi_log_traffic
-

Choices:
- disable
- enable

Enable/disable logging.

mapi_port - |  | Single port number or port number range for MAPI. Only packets with a destination port number that matches this port number or range are accepted by this profile.

mapi_secure_tunnel
-

Choices:
- disable
- enable

Enable/disable securing the WAN Opt tunnel using SSL. Secure and non-secure tunnels use the same TCP port (7810).

mapi_status
-

Choices:
- disable
- enable

Enable/disable HTTP WAN Optimization.

mapi_tunnel_sharing
-

Choices:
- private
- shared
- express-shared

Tunnel sharing mode for aggressive/non-aggressive and/or interactive/non-interactive protocols.

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 - |  | Profile name.

tcp
-

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.
WHEN IN DOUBT, USE THE SUB OPTIONS BELOW INSTEAD TO CREATE OBJECTS WITH MULTIPLE TASKS

tcp_byte_caching
-

Choices:
- disable
- enable

Enable/disable byte-caching for HTTP. Byte caching reduces the amount of traffic by caching file data sent across the WAN and in future serving if from the cache.

tcp_byte_caching_opt
-

Choices:
- mem-only
- mem-disk

Select whether TCP byte-caching uses system memory only or both memory and disk space.

tcp_log_traffic
-

Choices:
- disable
- enable

Enable/disable logging.

tcp_port - |  | Single port number or port number range for TCP. Only packets with a destination port number that matches this port number or range are accepted by this profile.

tcp_secure_tunnel
-

Choices:
- disable
- enable

Enable/disable securing the WAN Opt tunnel using SSL. Secure and non-secure tunnels use the same TCP port (7810).

tcp_ssl
-

Choices:
- disable
- enable

Enable/disable SSL/TLS offloading.

tcp_ssl_port - |  | Port on which to expect HTTPS traffic for SSL/TLS offloading.

tcp_status
-

Choices:
- disable
- enable

Enable/disable HTTP WAN Optimization.

tcp_tunnel_sharing
-

Choices:
- private
- shared
- express-shared

Tunnel sharing mode for aggressive/non-aggressive and/or interactive/non-interactive protocols.

transparent
-

Choices:
- disable
- enable

Enable/disable transparent mode.

## Notes

Note

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

## Examples

    - name: DELETE Profile
      fmgr_secprof_wanopt:
        name: "Ansible_WanOpt_Profile"
        mode: "delete"

    - name: Create FMGR_WANOPT_PROFILE
      fmgr_secprof_wanopt:
        mode: "set"
        adom: "root"
        transparent: "enable"
        name: "Ansible_WanOpt_Profile"
        comments: "Created by Ansible"
        cifs: {byte-caching: "enable",
                log-traffic: "enable",
                port: 80,
                prefer-chunking: "dynamic",
                status: "enable",
                tunnel-sharing: "private"}
        ftp: {byte-caching: "enable",
                log-traffic: "enable",
                port: 80,
                prefer-chunking: "dynamic",
                secure-tunnel: "disable",
                status: "enable",
                tunnel-sharing: "private"}

## 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.