fortinet.fortimanager.fmgr_wanprof_system_sdwan_service – Create SD-WAN rules

Note

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

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

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

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
enable_log
boolean
    Choices:
  • no ←
  • yes
Enable/Disable logging for task
proposed_method
string
    Choices:
  • update
  • set
  • add
The overridden method for the underlying Json RPC request
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
wanprof
string / required
the parameter (wanprof) in requested url
wanprof_system_sdwan_service
dictionary
the top level parameters set
addr-mode
string
    Choices:
  • ipv4
  • ipv6
Address mode (IPv4 or IPv6).
bandwidth-weight
integer
Coefficient of reciprocal of available bidirectional bandwidth in the formula of custom-profile-1.
default
string
    Choices:
  • disable
  • enable
Enable/disable use of SD-WAN as default service.
dscp-forward
string
    Choices:
  • disable
  • enable
Enable/disable forward traffic DSCP tag.
dscp-forward-tag
string
Forward traffic DSCP tag.
dscp-reverse
string
    Choices:
  • disable
  • enable
Enable/disable reverse traffic DSCP tag.
dscp-reverse-tag
string
Reverse traffic DSCP tag.
dst
string
Destination address name.
dst-negate
string
    Choices:
  • disable
  • enable
Enable/disable negation of destination address match.
dst6
string
Destination address6 name.
end-port
integer
End destination port number.
gateway
string
    Choices:
  • disable
  • enable
Enable/disable SD-WAN service gateway.
groups
string
User groups.
hash-mode
string
    Choices:
  • round-robin
  • source-ip-based
  • source-dest-ip-based
  • inbandwidth
  • outbandwidth
  • bibandwidth
Hash algorithm for selected priority members for load balance mode.
health-check
string
Health check list.
hold-down-time
integer
Waiting period in seconds when switching from the back-up member to the primary member (0 - 10000000, default = 0).
id
integer
SD-WAN rule ID (1 - 4000).
input-device
string
Source interface name.
input-device-negate
string
    Choices:
  • disable
  • enable
Enable/disable negation of input device match.
internet-service
string
    Choices:
  • disable
  • enable
Enable/disable use of Internet service for application-based load balancing.
internet-service-app-ctrl
integer
no description
internet-service-app-ctrl-group
string
Application control based Internet Service group list.
internet-service-custom
string
Custom Internet service name list.
internet-service-custom-group
string
Custom Internet Service group list.
internet-service-group
string
Internet Service group list.
internet-service-name
string
Internet service name list.
jitter-weight
integer
Coefficient of jitter in the formula of custom-profile-1.
latency-weight
integer
Coefficient of latency in the formula of custom-profile-1.
link-cost-factor
string
    Choices:
  • latency
  • jitter
  • packet-loss
  • inbandwidth
  • outbandwidth
  • bibandwidth
  • custom-profile-1
Link cost factor.
link-cost-threshold
integer
Percentage threshold change of link cost values that will result in policy route regeneration (0 - 10000000, default = 10).
minimum-sla-meet-members
integer
Minimum number of members which meet SLA.
mode
string
    Choices:
  • auto
  • manual
  • priority
  • sla
  • load-balance
Control how the SD-WAN rule sets the priority of interfaces in the SD-WAN.
name
string
SD-WAN rule name.
packet-loss-weight
integer
Coefficient of packet-loss in the formula of custom-profile-1.
priority-members
string
Member sequence number list.
protocol
integer
Protocol number.
quality-link
integer
Quality grade.
role
string
    Choices:
  • primary
  • secondary
  • standalone
Service role to work with neighbor.
route-tag
integer
IPv4 route map route-tag.
sla
list / elements=string
no description
health-check
string
SD-WAN health-check.
id
integer
SLA ID.
sla-compare-method
string
    Choices:
  • order
  • number
Method to compare SLA value for SLA mode.
src
string
Source address name.
src-negate
string
    Choices:
  • disable
  • enable
Enable/disable negation of source address match.
src6
string
Source address6 name.
standalone-action
string
    Choices:
  • disable
  • enable
Enable/disable service when selected neighbor role is standalone while service role is not standalone.
start-port
integer
Start destination port number.
status
string
    Choices:
  • disable
  • enable
Enable/disable SD-WAN service.
tie-break
string
    Choices:
  • zone
  • cfg-order
  • fib-best-match
Method of selecting member if more than one meets the SLA.
tos
string
Type of service bit pattern.
tos-mask
string
Type of service evaluated bits.
use-shortcut-sla
string
    Choices:
  • disable
  • enable
Enable/disable use of ADVPN shortcut for quality comparison.
users
string
User name.
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: Create SD-WAN rules
     fmgr_wanprof_system_sdwan_service:
        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>
        state: <value in [present, absent]>
        wanprof_system_sdwan_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]>

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)