fortinet.fortimanager.fmgr_wanprof_system_sdwan – Configure redundant internet connections using SD-WAN
Note
This plugin is part of the fortinet.fortimanager collection (version 2.1.4).
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 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 |
Comments |
---|---|
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:
|
|
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 directive to create, update or delete an object Choices:
|
|
the parameter (wanprof) in requested url |
|
the top level parameters set |
|
no description |
|
Destination address or address group names. |
|
Destination address6 or address6 group names. |
|
Outgoing (egress) interfaces or zones. |
|
Duplication rule ID (1 - 255). |
|
Enable/disable discarding of packets that have been duplicated. Choices:
|
|
Configure packet duplication method. Choices:
|
|
Service and service group name. |
|
SD-WAN service rule ID list. |
|
Source address or address group names. |
|
Source address6 or address6 group names. |
|
Incoming (ingress) interfaces or zones. |
|
Maximum number of interface members a packet is duplicated in the SD-WAN zone (2 - 4, default = 2; if set to 3, the original p… |
|
Enable/disable SD-WAN Internet connection status checking (failure detection). Choices:
|
|
no description |
|
no description |
|
Address mode (IPv4 or IPv6). Choices:
|
|
The mode determining how to detect the server. Choices:
|
|
Differentiated services code point (DSCP) in the IP header of the probe packet. |
|
Response IP expected from DNS server if the protocol is DNS. |
|
Fully qualified domain name to resolve for the DNS probe. |
|
Number of failures before server is considered lost (1 - 3600, default = 5). |
|
Full path and file name on the FTP server to download for FTP health-check to probe. |
|
FTP mode. Choices:
|
|
HA election priority (1 - 50). |
|
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 (500 - 3600*1000 msec, … |
|
Member sequence number list. |
|
Status check or health check name. |
|
Packet size of a twamp test session, |
|
no description |
|
Port number used to communicate with the server over the selected protocol (0-65535, default = 0, auto select. http, t… |
|
Number of most recent probes that should be used to calculate latency and jitter (5 - 30, default = 30). |
|
Enable/disable transmission of probe packets. Choices:
|
|
Time to wait before a probe packet is considered lost (500 - 3600*1000 msec, default = 500). |
|
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 (1 - 3600, default = 5). |
|
Twamp controller security mode. Choices:
|
|
no description |
|
no description |
|
SLA ID. |
|
Jitter for SLA to make decision in milliseconds. (0 - 10000000, default = 5). |
|
Latency for SLA to make decision in milliseconds. (0 - 10000000, default = 5). |
|
no description Choices:
|
|
Packet loss for SLA to make decision in percentage. (0 - 100, default = 0). |
|
Time interval in seconds that SLA fail log messages will be generated (0 - 3600, default = 0). |
|
Time interval in seconds that SLA pass log messages will be generated (0 - 3600, default = 0). |
|
Enable/disable system DNS as the probe server. Choices:
|
|
Alert threshold for jitter (ms, default = 0). |
|
Alert threshold for latency (ms, default = 0). |
|
Alert threshold for packet loss (percentage, default = 0). |
|
Warning threshold for jitter (ms, default = 0). |
|
Warning threshold for latency (ms, default = 0). |
|
Warning threshold for packet loss (percentage, default = 0). |
|
Enable/disable update cascade interface. Choices:
|
|
Enable/disable updating the static route. Choices:
|
|
The user name to access probe server. |
|
Algorithm or mode to use for load balancing Internet traffic to SD-WAN members. Choices:
|
|
no description |
|
no description |
|
Comments. |
|
Cost of this interface for services in SLA mode (0 - 4294967295, default = 0). |
|
The default gateway for this interface. Usually the default gateway of the Internet service provider that this interfa… |
|
IPv6 gateway. |
|
Ingress spillover threshold for this interface (0 - 16776000 kbit/s). When this traffic volume threshold is reached, n… |
|
Interface name. |
|
Priority of the interface (0 - 65535). Used for SD-WAN rules or priority rules. |
|
Priority of the interface for IPv6 (1 - 65535, default = 1024). Used for SD-WAN rules or priority rules. |
|
Sequence number(1-512). |
|
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 (0 - 16776000 kbit/s). When this traffic volume threshold is reached, ne… |
|
Enable/disable this interface in the SD-WAN. Choices:
|
|
Measured volume ratio (this value / sum of all values = percentage of link volume, 1 - 255). |
|
Weight of this interface for weighted load balancing. (1 - 255) More traffic is directed to interfaces with higher wei… |
|
Zone name. |
|
no description |
|
SD-WAN health-check name. |
|
IP/IPv6 address of neighbor. |
|
Member sequence number. |
|
Role of neighbor. Choices:
|
|
SLA ID. |
|
Waiting period in seconds when switching from the primary neighbor to the secondary neighbor from the neighbor start. (0 - 100… |
|
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. (0 - … |
|
no description |
|
Address mode (IPv4 or IPv6). Choices:
|
|
Coefficient of reciprocal of available bidirectional bandwidth in the formula of custom-profile-1. |
|
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. |
|
Destination address name. |
|
Enable/disable negation of destination address match. Choices:
|
|
Destination address6 name. |
|
End destination port number. |
|
Enable/disable SD-WAN service gateway. Choices:
|
|
User groups. |
|
Hash algorithm for selected priority members for load balance mode. Choices:
|
|
Health check list. |
|
Waiting period in seconds when switching from the back-up member to the primary member (0 - 10000000, default = 0). |
|
SD-WAN rule ID (1 - 4000). |
|
Source interface name. |
|
Enable/disable negation of input device match. Choices:
|
|
Enable/disable use of Internet service for application-based load balancing. Choices:
|
|
no description |
|
Application control based Internet Service group list. |
|
Custom Internet service name list. |
|
Custom Internet Service group list. |
|
Internet Service group list. |
|
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 (0 - 10000000, default =… |
|
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. |
|
Member sequence number list. |
|
Protocol number. |
|
Quality grade. |
|
Service role to work with neighbor. Choices:
|
|
IPv4 route map route-tag. |
|
no description |
|
SD-WAN health-check. |
|
SLA ID. |
|
Method to compare SLA value for SLA mode. Choices:
|
|
Source address name. |
|
Enable/disable negation of source address match. Choices:
|
|
Source address6 name. |
|
Enable/disable service when selected neighbor role is standalone while service role is not standalone. Choices:
|
|
Start destination 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:
|
|
User name. |
|
Enable/disable SD-WAN. Choices:
|
|
no description |
|
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: 300 |
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 redundant internet connections using SD-WAN
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: <value of string>
dstaddr6: <value of string>
dstintf: <value of string>
id: <value of integer>
packet-de-duplication: <value in [disable, enable]>
packet-duplication: <value in [disable, force, on-demand]>
service: <value of string>
srcaddr: <value of string>
srcaddr6: <value of string>
srcintf: <value of string>
service-id: <value of string>
duplication-max-num: <value of integer>
fail-detect: <value in [disable, enable]>
health-check:
-
_dynamic-server: <value of string>
addr-mode: <value in [ipv4, ipv6]>
diffservcode: <value of string>
dns-match-ip: <value of string>
dns-request-domain: <value of string>
failtime: <value of integer>
ftp-file: <value of string>
ftp-mode: <value in [passive, port]>
ha-priority: <value of integer>
http-agent: <value of string>
http-get: <value of string>
http-match: <value of string>
interval: <value of integer>
members: <value of string>
name: <value of string>
packet-size: <value of integer>
password: <value of string>
port: <value of integer>
probe-count: <value of integer>
probe-packets: <value in [disable, enable]>
probe-timeout: <value of integer>
protocol: <value in [ping, tcp-echo, udp-echo, ...]>
quality-measured-method: <value in [half-close, half-open]>
recoverytime: <value of integer>
security-mode: <value in [none, authentication]>
server: <value of string>
sla:
-
id: <value of integer>
jitter-threshold: <value of integer>
latency-threshold: <value of integer>
link-cost-factor:
- latency
- jitter
- packet-loss
packetloss-threshold: <value of integer>
sla-fail-log-period: <value of integer>
sla-pass-log-period: <value of integer>
system-dns: <value in [disable, enable]>
threshold-alert-jitter: <value of integer>
threshold-alert-latency: <value of integer>
threshold-alert-packetloss: <value of integer>
threshold-warning-jitter: <value of integer>
threshold-warning-latency: <value of integer>
threshold-warning-packetloss: <value of integer>
update-cascade-interface: <value in [disable, enable]>
update-static-route: <value in [disable, enable]>
user: <value of string>
detect-mode: <value in [active, passive, prefer-passive]>
load-balance-mode: <value in [source-ip-based, weight-based, usage-based, ...]>
members:
-
_dynamic-member: <value of string>
comment: <value of string>
cost: <value of integer>
gateway: <value of string>
gateway6: <value of string>
ingress-spillover-threshold: <value of integer>
interface: <value of string>
priority: <value of integer>
seq-num: <value of integer>
source: <value of string>
source6: <value of string>
spillover-threshold: <value of integer>
status: <value in [disable, enable]>
volume-ratio: <value of integer>
weight: <value of integer>
zone: <value of string>
priority6: <value of integer>
neighbor:
-
health-check: <value of string>
ip: <value of string>
member: <value of string>
role: <value in [primary, secondary, standalone]>
sla-id: <value of integer>
neighbor-hold-boot-time: <value of integer>
neighbor-hold-down: <value in [disable, enable]>
neighbor-hold-down-time: <value of integer>
service:
-
addr-mode: <value in [ipv4, ipv6]>
bandwidth-weight: <value of integer>
default: <value in [disable, enable]>
dscp-forward: <value in [disable, enable]>
dscp-forward-tag: <value of string>
dscp-reverse: <value in [disable, enable]>
dscp-reverse-tag: <value of string>
dst: <value of string>
dst-negate: <value in [disable, enable]>
dst6: <value of string>
end-port: <value of integer>
gateway: <value in [disable, enable]>
groups: <value of string>
hash-mode: <value in [round-robin, source-ip-based, source-dest-ip-based, ...]>
health-check: <value of string>
hold-down-time: <value of integer>
id: <value of integer>
input-device: <value of string>
input-device-negate: <value in [disable, enable]>
internet-service: <value in [disable, enable]>
internet-service-app-ctrl: <value of integer>
internet-service-app-ctrl-group: <value of string>
internet-service-custom: <value of string>
internet-service-custom-group: <value of string>
internet-service-group: <value of string>
internet-service-name: <value of string>
jitter-weight: <value of integer>
latency-weight: <value of integer>
link-cost-factor: <value in [latency, jitter, packet-loss, ...]>
link-cost-threshold: <value of integer>
minimum-sla-meet-members: <value of integer>
mode: <value in [auto, manual, priority, ...]>
name: <value of string>
packet-loss-weight: <value of integer>
priority-members: <value of string>
protocol: <value of integer>
quality-link: <value of integer>
role: <value in [primary, secondary, standalone]>
route-tag: <value of integer>
sla:
-
health-check: <value of string>
id: <value of integer>
sla-compare-method: <value in [order, number]>
src: <value of string>
src-negate: <value in [disable, enable]>
src6: <value of string>
standalone-action: <value in [disable, enable]>
start-port: <value of integer>
status: <value in [disable, enable]>
tos: <value of string>
tos-mask: <value of string>
users: <value of string>
tie-break: <value in [zone, cfg-order, fib-best-match]>
use-shortcut-sla: <value in [disable, enable]>
status: <value in [disable, enable]>
zone:
-
name: <value of string>
service-sla-tie-break: <value in [cfg-order, fib-best-match]>
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
The full url requested Returned: always Sample: “/sys/login/user” |
|
The status of api request Returned: always Sample: 0 |
|
The descriptive message of the api response Returned: always Sample: “OK.” |
Authors
Link Zheng (@chillancezen)
Jie Xue (@JieX19)
Frank Shen (@fshen01)
Hongbin Lu (@fgtdev-hblu)