fortinet.fortimanager.fmgr_wanprof_system_sdwan module – Configure redundant internet connections using SD-WAN
Note
This module is part of the fortinet.fortimanager collection (version 2.8.2).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install fortinet.fortimanager
.
To use it in a playbook, specify: fortinet.fortimanager.fmgr_wanprof_system_sdwan
.
New in fortinet.fortimanager 2.1.0
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 |
Comments |
---|---|
The token to access FortiManager without using username and password. |
|
The parameter (adom) in requested url. |
|
Only set to True when module schema diffs with FortiManager API structure, module continues to execute without validating parameters. Choices:
|
|
Enable/Disable logging for task. Choices:
|
|
Authenticate Ansible client with forticloud API access token. |
|
The overridden method for the underlying Json RPC request. Choices:
|
|
The rc codes list with which the conditions to fail will be overriden. |
|
The rc codes list with which the conditions to succeed will be overriden. |
|
The parameter (wanprof) in requested url. |
|
The top level parameters set. |
|
Time interval in seconds that applicationperformance logs are generated |
|
Duplication. |
|
(list or str) Destination address or address group names. |
|
(list or str) Destination address6 or address6 group names. |
|
(list or str) Outgoing |
|
Duplication rule ID |
|
Enable/disable discarding of packets that have been duplicated. Choices:
|
|
Configure packet duplication method. Choices:
|
|
(list or str) Service and service group name. |
|
(list or str) SD-WAN service rule ID list. |
|
Enable/disable packet duplication matching health-check SLAs in service rule. Choices:
|
|
(list or str) Source address or address group names. |
|
(list or str) Source address6 or address6 group names. |
|
(list or str) Incoming |
|
Maximum number of interface members a packet is duplicated in the SD-WAN zone |
|
(list) Physical interfaces that will be alerted. |
|
Enable/disable SD-WAN Internet connection status checking Choices:
|
|
Health check. |
|
Dynamic server. |
|
Address mode Choices:
|
|
Traffic class ID. |
|
The mode determining how to detect the server. Choices:
|
|
Differentiated services code point |
|
Response IP expected from DNS server if the protocol is DNS. |
|
Fully qualified domain name to resolve for the DNS probe. |
|
Enable/disable embedding measured health information. Choices:
|
|
Number of failures before server is considered lost |
|
Full path and file name on the FTP server to download for FTP health-check to probe. |
|
FTP mode. Choices:
|
|
HA election priority |
|
String in the http-agent field in the HTTP header. |
|
URL used to communicate with the server if the protocol if the protocol is HTTP. |
|
Response string expected from the server if the protocol is HTTP. |
|
Status check interval in milliseconds, or the time between attempting to connect to the server |
|
(list or str) Member sequence number list. |
|
Codec to use for MOS calculation Choices:
|
|
Status check or health check name. |
|
Packet size of a twamp test session, |
|
(list) Twamp controller password in authentication mode |
|
Port number used to communicate with the server over the selected protocol |
|
Number of most recent probes that should be used to calculate latency and jitter |
|
Enable/disable transmission of probe packets. Choices:
|
|
Time to wait before a probe packet is considered lost |
|
Protocol used to determine if the FortiGate can communicate with the server. Choices:
|
|
Method to measure the quality of tcp-connect. Choices:
|
|
Number of successful responses received before server is considered recovered |
|
Twamp controller security mode. Choices:
|
|
(list) IP address or FQDN name of the server. |
|
Sla. |
|
SLA ID. |
|
Jitter for SLA to make decision in milliseconds. |
|
Latency for SLA to make decision in milliseconds. |
|
Criteria on which to base link selection. Choices:
|
|
Minimum Mean Opinion Score for SLA to be marked as pass. |
|
Packet loss for SLA to make decision in percentage. |
|
Value to be distributed into routing table when in-sla |
|
Value to be distributed into routing table when out-sla |
|
Time interval in seconds that SLA fail log messages will be generated |
|
Select the ID from the SLA sub-table. |
|
Time interval in seconds that SLA pass log messages will be generated |
|
Source IP address used in the health-check packet to the server. |
|
Source IPv6 addressused in the health-check packet to server. |
|
Enable/disable system DNS as the probe server. Choices:
|
|
Alert threshold for jitter |
|
Alert threshold for latency |
|
Alert threshold for packet loss |
|
Warning threshold for jitter |
|
Warning threshold for latency |
|
Warning threshold for packet loss |
|
Enable/disable update cascade interface. Choices:
|
|
Enable/disable updating the static route. Choices:
|
|
The user name to access probe server. |
|
Virtual Routing Forwarding ID. |
|
Health check fortiguard. |
|
Address mode Choices:
|
|
(list) Traffic class ID. |
|
The mode determining how to detect the server. Choices:
|
|
Differentiated services code point |
|
Response IP expected from DNS server if the protocol is DNS. |
|
Fully qualified domain name to resolve for the DNS probe. |
|
Enable/disable embedding measured health information. Choices:
|
|
Number of failures before server is considered lost |
|
Full path and file name on the FTP server to download for FTP health-check to probe. |
|
FTP mode. Choices:
|
|
HA election priority |
|
String in the http-agent field in the HTTP header. |
|
URL used to communicate with the server if the protocol if the protocol is HTTP. |
|
Response string expected from the server if the protocol is HTTP. |
|
Status check interval in milliseconds, or the time between attempting to connect to the server |
|
(list) Member sequence number list. |
|
Codec to use for MOS calculation Choices:
|
|
Packet size of a TWAMP test session. |
|
(list) TWAMP controller password in authentication mode. |
|
Port number used to communicate with the server over the selected protocol |
|
Number of most recent probes that should be used to calculate latency and jitter |
|
Enable/disable transmission of probe packets. Choices:
|
|
Time to wait before a probe packet is considered lost |
|
Protocol used to determine if the FortiGate can communicate with the server. Choices:
|
|
Method to measure the quality of tcp-connect. Choices:
|
|
Number of successful responses received before server is considered recovered |
|
Twamp controller security mode. Choices:
|
|
(list) Predefined IP address or FQDN name from FortiGuard. |
|
Sla. |
|
SLA ID. |
|
Jitter for SLA to make decision in milliseconds. |
|
Latency for SLA to make decision in milliseconds. |
|
Criteria on which to base link selection. Choices:
|
|
Minimum Mean Opinion Score for SLA to be marked as pass. |
|
Packet loss for SLA to make decision in percentage. |
|
Value to be distributed into routing table when in-sla |
|
Value to be distributed into routing table when out-sla |
|
Time interval in seconds that SLA fail log messages will be generated |
|
Select the ID from the SLA sub-table. |
|
Time interval in seconds that SLA pass log messages will be generated |
|
Source IP address used in the health-check packet to the server. |
|
Source IPv6 address used in the health-check packet to server. |
|
Enable/disable system DNS as the probe server. Choices:
|
|
Status check or predefined health-check targets name. |
|
Alert threshold for jitter |
|
Alert threshold for latency |
|
Alert threshold for packet loss |
|
Warning threshold for jitter |
|
Warning threshold for latency |
|
Warning threshold for packet loss |
|
Enable/disable update cascade interface. Choices:
|
|
Enable/disable updating the static route. Choices:
|
|
The user name to access probe server. |
|
Virtual Routing Forwarding ID. |
|
Algorithm or mode to use for load balancing Internet traffic to SD-WAN members. Choices:
|
|
Members. |
|
Dynamic member. |
|
Comments. |
|
Cost of this interface for services in SLA mode |
|
The default gateway for this interface. |
|
IPv6 gateway. |
|
Ingress spillover threshold for this interface |
|
Interface name. |
|
Preferred source of route for this member. |
|
Priority of the interface |
|
Priority of the interface for IPv6 |
|
Preferred priority of routes to this member when this member is in-sla |
|
Preferred priority of routes to this member when this member is out-of-sla |
|
Sequence number |
|
Source IP address used in the health-check packet to the server. |
|
Source IPv6 address used in the health-check packet to the server. |
|
Egress spillover threshold for this interface |
|
Enable/disable this interface in the SD-WAN. Choices:
|
|
Measured transport group |
|
Measured volume ratio |
|
Weight of this interface for weighted load balancing. |
|
Zone name. |
|
Neighbor. |
|
SD-WAN health-check name. |
|
IP/IPv6 address of neighbor. |
|
(list or str) Member sequence number. |
|
Minimum number of members which meet SLA when the neighbor is preferred. |
|
What metric to select the neighbor. Choices:
|
|
Role of neighbor. Choices:
|
|
SD-WAN service ID to work with the neighbor. |
|
SLA ID. |
|
Waiting period in seconds when switching from the primary neighbor to the secondary neighbor from the neighbor start. |
|
Enable/disable hold switching from the secondary neighbor to the primary neighbor. Choices:
|
|
Waiting period in seconds when switching from the secondary neighbor to the primary neighbor when hold-down is disabled. |
|
Option. Choices:
|
|
Service. |
|
Address mode Choices:
|
|
Set/unset the service as agent use exclusively. Choices:
|
|
Coefficient of reciprocal of available bidirectional bandwidth in the formula of custom-profile-1. |
|
Comments. |
|
Enable/disable use of SD-WAN as default service. Choices:
|
|
Enable/disable forward traffic DSCP tag. Choices:
|
|
Forward traffic DSCP tag. |
|
Enable/disable reverse traffic DSCP tag. Choices:
|
|
Reverse traffic DSCP tag. |
|
(list or str) Destination address name. |
|
(list or str) Destination address6 name. |
|
Enable/disable negation of destination address match. Choices:
|
|
End destination port number. |
|
End source port number. |
|
Enable/disable SD-WAN service gateway. Choices:
|
|
(list or str) User groups. |
|
Hash algorithm for selected priority members for load balance mode. Choices:
|
|
(list or str) Health check list. |
|
Waiting period in seconds when switching from the back-up member to the primary member |
|
SD-WAN rule ID |
|
(list or str) Source interface name. |
|
Enable/disable negation of input device match. Choices:
|
|
(list) Source input-zone name. |
|
Enable/disable use of Internet service for application-based load balancing. Choices:
|
|
(list) Application control based Internet Service ID list. |
|
(list) IDs of one or more application control categories. |
|
(list or str) Application control based Internet Service group list. |
|
(list or str) Custom Internet service name list. |
|
(list or str) Custom Internet Service group list. |
|
(list or str) Internet Service group list. |
|
(list or str) Internet service name list. |
|
Coefficient of jitter in the formula of custom-profile-1. |
|
Coefficient of latency in the formula of custom-profile-1. |
|
Link cost factor. Choices:
|
|
Percentage threshold change of link cost values that will result in policy route regeneration |
|
Enable/disable load-balance. Choices:
|
|
Minimum number of members which meet SLA. |
|
Control how the SD-WAN rule sets the priority of interfaces in the SD-WAN. Choices:
|
|
SD-WAN rule name. |
|
Coefficient of packet-loss in the formula of custom-profile-1. |
|
Enable/disable passive measurement based on the service criteria. Choices:
|
|
(list or str) Member sequence number list. |
|
(list or str) Priority zone name list. |
|
Protocol number. |
|
Quality grade. |
|
Service role to work with neighbor. Choices:
|
|
IPv4 route map route-tag. |
|
Enable/disable shortcut for this service. Choices:
|
|
High priority of ADVPN shortcut for this service. Choices:
|
|
Enable/disable shortcut-stickiness of ADVPN. Choices:
|
|
Sla. |
|
SD-WAN health-check. |
|
SLA ID. |
|
Method to compare SLA value for SLA mode. Choices:
|
|
Enable/disable SLA stickiness Choices:
|
|
(list or str) Source address name. |
|
(list or str) Source address6 name. |
|
Enable/disable negation of source address match. Choices:
|
|
Enable/disable service when selected neighbor role is standalone while service role is not standalone. Choices:
|
|
Start destination port number. |
|
Start source port number. |
|
Enable/disable SD-WAN service. Choices:
|
|
Method of selecting member if more than one meets the SLA. Choices:
|
|
Type of service bit pattern. |
|
Type of service evaluated bits. |
|
Enable/disable use of ADVPN shortcut for quality comparison. Choices:
|
|
(list or str) User name. |
|
Enable/disable zone mode. Choices:
|
|
Enable/disable bypass routing when speedtest on a SD-WAN member. Choices:
|
|
Enable/disable SD-WAN. Choices:
|
|
Zone. |
|
Health check for ADVPN local overlay link quality. |
|
Enable/disable selection of ADVPN based on SDWAN information. Choices:
|
|
Minimum number of members which meet SLA when the neighbor is preferred. |
|
Zone name. |
|
Method of selecting member if more than one meets the SLA. Choices:
|
|
The adom to lock for FortiManager running in workspace mode, the value can be global and others including root. |
|
The maximum time in seconds to wait for other user to release the workspace lock. Default: |
Notes
Note
Starting in version 2.4.0, all input arguments are named using the underscore naming convention (snake_case). Please change the arguments such as “var-name” to “var_name”. Old argument names are still available yet you will receive deprecation warnings. You can ignore this warning by setting deprecation_warnings=False in ansible.cfg.
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.
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 (generated based on argument schema)
hosts: fortimanagers
connection: httpapi
vars:
ansible_httpapi_use_ssl: true
ansible_httpapi_validate_certs: false
ansible_httpapi_port: 443
tasks:
- name: Configure redundant internet connections using SD-WAN
fortinet.fortimanager.fmgr_wanprof_system_sdwan:
# 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>
wanprof: <your own value>
wanprof_system_sdwan:
duplication:
-
dstaddr: <list or string>
dstaddr6: <list or string>
dstintf: <list or string>
id: <integer>
packet_de_duplication: <value in [disable, enable]>
packet_duplication: <value in [disable, force, on-demand]>
service: <list or string>
srcaddr: <list or string>
srcaddr6: <list or string>
srcintf: <list or string>
service_id: <list or string>
sla_match_service: <value in [disable, enable]>
duplication_max_num: <integer>
fail_detect: <value in [disable, enable]>
health_check:
-
_dynamic_server: <string>
addr_mode: <value in [ipv4, ipv6]>
diffservcode: <string>
dns_match_ip: <string>
dns_request_domain: <string>
failtime: <integer>
ftp_file: <string>
ftp_mode: <value in [passive, port]>
ha_priority: <integer>
http_agent: <string>
http_get: <string>
http_match: <string>
interval: <integer>
members: <list or string>
name: <string>
packet_size: <integer>
password: <list or string>
port: <integer>
probe_count: <integer>
probe_packets: <value in [disable, enable]>
probe_timeout: <integer>
protocol: <value in [ping, tcp-echo, udp-echo, ...]>
quality_measured_method: <value in [half-close, half-open]>
recoverytime: <integer>
security_mode: <value in [none, authentication]>
server: <list or string>
sla:
-
id: <integer>
jitter_threshold: <integer>
latency_threshold: <integer>
link_cost_factor:
- "latency"
- "jitter"
- "packet-loss"
- "mos"
- "remote"
packetloss_threshold: <integer>
mos_threshold: <string>
priority_in_sla: <integer>
priority_out_sla: <integer>
sla_fail_log_period: <integer>
sla_pass_log_period: <integer>
system_dns: <value in [disable, enable]>
threshold_alert_jitter: <integer>
threshold_alert_latency: <integer>
threshold_alert_packetloss: <integer>
threshold_warning_jitter: <integer>
threshold_warning_latency: <integer>
threshold_warning_packetloss: <integer>
update_cascade_interface: <value in [disable, enable]>
update_static_route: <value in [disable, enable]>
user: <string>
detect_mode: <value in [active, passive, prefer-passive, ...]>
mos_codec: <value in [g711, g722, g729]>
source: <string>
vrf: <integer>
embed_measured_health: <value in [disable, enable]>
sla_id_redistribute: <integer>
class_id: <string>
source6: <string>
load_balance_mode: <value in [source-ip-based, weight-based, usage-based, ...]>
members:
-
_dynamic_member: <string>
comment: <string>
cost: <integer>
gateway: <string>
gateway6: <string>
ingress_spillover_threshold: <integer>
interface: <string>
priority: <integer>
seq_num: <integer>
source: <string>
source6: <string>
spillover_threshold: <integer>
status: <value in [disable, enable]>
volume_ratio: <integer>
weight: <integer>
zone: <string>
priority6: <integer>
preferred_source: <string>
transport_group: <integer>
priority_in_sla: <integer>
priority_out_sla: <integer>
neighbor:
-
health_check: <string>
ip: <string>
member: <list or string>
role: <value in [primary, secondary, standalone]>
sla_id: <integer>
minimum_sla_meet_members: <integer>
mode: <value in [sla, speedtest]>
service_id: <string>
neighbor_hold_boot_time: <integer>
neighbor_hold_down: <value in [disable, enable]>
neighbor_hold_down_time: <integer>
service:
-
addr_mode: <value in [ipv4, ipv6]>
bandwidth_weight: <integer>
default: <value in [disable, enable]>
dscp_forward: <value in [disable, enable]>
dscp_forward_tag: <string>
dscp_reverse: <value in [disable, enable]>
dscp_reverse_tag: <string>
dst: <list or string>
dst_negate: <value in [disable, enable]>
dst6: <list or string>
end_port: <integer>
gateway: <value in [disable, enable]>
groups: <list or string>
hash_mode: <value in [round-robin, source-ip-based, source-dest-ip-based, ...]>
health_check: <list or string>
hold_down_time: <integer>
id: <integer>
input_device: <list or string>
input_device_negate: <value in [disable, enable]>
internet_service: <value in [disable, enable]>
internet_service_app_ctrl: <list or integer>
internet_service_app_ctrl_group: <list or string>
internet_service_custom: <list or string>
internet_service_custom_group: <list or string>
internet_service_group: <list or string>
internet_service_name: <list or string>
jitter_weight: <integer>
latency_weight: <integer>
link_cost_factor: <value in [latency, jitter, packet-loss, ...]>
link_cost_threshold: <integer>
minimum_sla_meet_members: <integer>
mode: <value in [auto, manual, priority, ...]>
name: <string>
packet_loss_weight: <integer>
priority_members: <list or string>
protocol: <integer>
quality_link: <integer>
role: <value in [primary, secondary, standalone]>
route_tag: <integer>
sla:
-
health_check: <string>
id: <integer>
sla_compare_method: <value in [order, number]>
src: <list or string>
src_negate: <value in [disable, enable]>
src6: <list or string>
standalone_action: <value in [disable, enable]>
start_port: <integer>
status: <value in [disable, enable]>
tos: <string>
tos_mask: <string>
users: <list or string>
tie_break: <value in [zone, cfg-order, fib-best-match, ...]>
use_shortcut_sla: <value in [disable, enable]>
input_zone: <list or string>
internet_service_app_ctrl_category: <list or integer>
passive_measurement: <value in [disable, enable]>
priority_zone: <list or string>
agent_exclusive: <value in [disable, enable]>
shortcut: <value in [disable, enable]>
shortcut_stickiness: <value in [disable, enable]>
end_src_port: <integer>
load_balance: <value in [disable, enable]>
sla_stickiness: <value in [disable, enable]>
start_src_port: <integer>
zone_mode: <value in [disable, enable]>
shortcut_priority: <value in [disable, enable, auto]>
comment: <string>
status: <value in [disable, enable]>
zone:
-
name: <string>
service_sla_tie_break: <value in [cfg-order, fib-best-match, input-device]>
minimum_sla_meet_members: <integer>
advpn_health_check: <string>
advpn_select: <value in [disable, enable]>
speedtest_bypass_routing: <value in [disable, enable]>
fail_alert_interfaces: <list or string>
app_perf_log_period: <integer>
health_check_fortiguard:
-
addr_mode: <value in [ipv4, ipv6]>
class_id: <list or string>
detect_mode: <value in [active, passive, prefer-passive, ...]>
diffservcode: <string>
dns_match_ip: <string>
dns_request_domain: <string>
embed_measured_health: <value in [disable, enable]>
failtime: <integer>
ftp_file: <string>
ftp_mode: <value in [passive, port]>
ha_priority: <integer>
http_agent: <string>
http_get: <string>
http_match: <string>
interval: <integer>
members: <list or string>
mos_codec: <value in [g711, g722, g729]>
packet_size: <integer>
password: <list or string>
port: <integer>
probe_count: <integer>
probe_packets: <value in [disable, enable]>
probe_timeout: <integer>
protocol: <value in [ping, tcp-echo, udp-echo, ...]>
quality_measured_method: <value in [half-close, half-open]>
recoverytime: <integer>
security_mode: <value in [none, authentication]>
server: <list or string>
sla:
-
id: <integer>
jitter_threshold: <integer>
latency_threshold: <integer>
link_cost_factor:
- "latency"
- "jitter"
- "packet-loss"
- "mos"
- "remote"
mos_threshold: <string>
packetloss_threshold: <integer>
priority_in_sla: <integer>
priority_out_sla: <integer>
sla_fail_log_period: <integer>
sla_id_redistribute: <integer>
sla_pass_log_period: <integer>
source: <string>
source6: <string>
system_dns: <value in [disable, enable]>
target_name: <string>
threshold_alert_jitter: <integer>
threshold_alert_latency: <integer>
threshold_alert_packetloss: <integer>
threshold_warning_jitter: <integer>
threshold_warning_latency: <integer>
threshold_warning_packetloss: <integer>
update_cascade_interface: <value in [disable, enable]>
update_static_route: <value in [disable, enable]>
user: <string>
vrf: <integer>
option:
- "sdwan-overlay"
- "sdwan-manager"
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
The result of the request. Returned: always |
|
The full url requested. Returned: always Sample: |
|
The status of api request. Returned: always Sample: |
|
The api response. Returned: always |
|
The descriptive message of the api response. Returned: always Sample: |
|
The information of the target system. Returned: always |
|
The status the request. Returned: always Sample: |
|
Warning if the parameters used in the playbook are not supported by the current FortiManager version. Returned: complex |