fmgr_wanprof_system_sdwan_service – Create SD-WAN rules (also called services) to control how sessions are distributed to interfaces in the SD-WAN.

New in version 2.10.

Synopsis

  • This module is able to configure a FortiManager device.
  • Examples include all parameters and values need to be adjusted to data sources before usage.

Requirements

The below requirements are needed on the host that executes this module.

  • ansible>=2.9.0

FortiManager Version Compatibility


6.4.2 6.4.5 7.0.0 7.2.0
wanprof_system_sdwan_service yes yes yes yes

Parameters

  • enable_log - Enable/Disable logging for task type: bool required: false default: False
  • forticloud_access_token - Access token of forticloud managed API users, this option is available with FortiManager later than 6.4.0 type: str required: false
  • proposed_method - The overridden method for the underlying Json RPC request type: str required: false choices: set, update, add
  • bypass_validation - Only set to True when module schema diffs with FortiManager API structure, module continues to execute without validating parameters type: bool required: false default: False
  • workspace_locking_adom - Acquire the workspace lock if FortiManager is running in workspace mode type: str required: false choices: global, custom adom including root
  • workspace_locking_timeout - The maximum time in seconds to wait for other users to release workspace lock type: integer required: false default: 300
  • rc_succeeded - The rc codes list with which the conditions to succeed will be overriden type: list required: false
  • rc_failed - The rc codes list with which the conditions to fail will be overriden type: list required: false
  • state - The directive to create, update or delete an object type: str required: true choices: present, absent
  • adom - The parameter in requested url type: str required: true
  • wanprof - The parameter in requested url type: str required: true
  • wanprof_system_sdwan_service - no description type: dict
    • addr-mode - Address mode (IPv4 or IPv6). type: str choices: [ipv4, ipv6] more...
    • bandwidth-weight - Coefficient of reciprocal of available bidirectional bandwidth in the formula of custom-profile-1. type: int more...
    • default - Enable/disable use of SD-WAN as default service. type: str choices: [disable, enable] more...
    • dscp-forward - Enable/disable forward traffic DSCP tag. type: str choices: [disable, enable] more...
    • dscp-forward-tag - Forward traffic DSCP tag. type: str more...
    • dscp-reverse - Enable/disable reverse traffic DSCP tag. type: str choices: [disable, enable] more...
    • dscp-reverse-tag - Reverse traffic DSCP tag. type: str more...
    • dst - Destination address name. type: str more...
    • dst-negate - Enable/disable negation of destination address match. type: str choices: [disable, enable] more...
    • dst6 - Destination address6 name. type: str more...
    • end-port - End destination port number. type: int more...
    • gateway - Enable/disable SD-WAN service gateway. type: str choices: [disable, enable] more...
    • groups - User groups. type: str more...
    • hash-mode - Hash algorithm for selected priority members for load balance mode. type: str choices: [round-robin, source-ip-based, source-dest-ip-based, inbandwidth, outbandwidth, bibandwidth] more...
    • health-check - Health check list. type: str more...
    • hold-down-time - Waiting period in seconds when switching from the back-up member to the primary member (0 - 10000000, default = 0). type: int more...
    • id - SD-WAN rule ID (1 - 4000). type: int more...
    • input-device - Source interface name. type: str more...
    • input-device-negate - Enable/disable negation of input device match. type: str choices: [disable, enable] more...
    • internet-service - Enable/disable use of Internet service for application-based load balancing. type: str choices: [disable, enable] more...
    • internet-service-app-ctrl - No description for the parameter type: int more...
    • internet-service-app-ctrl-group - Application control based Internet Service group list. type: str more...
    • internet-service-custom - Custom Internet service name list. type: str more...
    • internet-service-custom-group - Custom Internet Service group list. type: str more...
    • internet-service-group - Internet Service group list. type: str more...
    • internet-service-name - Internet service name list. type: str more...
    • jitter-weight - Coefficient of jitter in the formula of custom-profile-1. type: int more...
    • latency-weight - Coefficient of latency in the formula of custom-profile-1. type: int more...
    • link-cost-factor - Link cost factor. type: str choices: [latency, jitter, packet-loss, inbandwidth, outbandwidth, bibandwidth, custom-profile-1] more...
    • link-cost-threshold - Percentage threshold change of link cost values that will result in policy route regeneration (0 - 10000000, default = 10). type: int more...
    • minimum-sla-meet-members - Minimum number of members which meet SLA. type: int more...
    • mode - Control how the SD-WAN rule sets the priority of interfaces in the SD-WAN. type: str choices: [auto, manual, priority, sla, load-balance] more...
    • name - SD-WAN rule name. type: str more...
    • packet-loss-weight - Coefficient of packet-loss in the formula of custom-profile-1. type: int more...
    • priority-members - Member sequence number list. type: str more...
    • protocol - Protocol number. type: int more...
    • quality-link - Quality grade. type: int more...
    • role - Service role to work with neighbor. type: str choices: [primary, secondary, standalone] more...
    • route-tag - IPv4 route map route-tag. type: int more...
    • sla - No description for the parameter type: array more...
      • health-check - SD-WAN health-check. type: str more...
      • id - SLA ID. type: int more...
    • sla-compare-method - Method to compare SLA value for SLA mode. type: str choices: [order, number] more...
    • src - Source address name. type: str more...
    • src-negate - Enable/disable negation of source address match. type: str choices: [disable, enable] more...
    • src6 - Source address6 name. type: str more...
    • standalone-action - Enable/disable service when selected neighbor role is standalone while service role is not standalone. type: str choices: [disable, enable] more...
    • start-port - Start destination port number. type: int more...
    • status - Enable/disable SD-WAN service. type: str choices: [disable, enable] more...
    • tos - Type of service bit pattern. type: str more...
    • tos-mask - Type of service evaluated bits. type: str more...
    • users - User name. type: str more...
    • tie-break - Method of selecting member if more than one meets the SLA. type: str choices: [zone, cfg-order, fib-best-match, input-device] more...
    • use-shortcut-sla - Enable/disable use of ADVPN shortcut for quality comparison. type: str choices: [disable, enable] more...
    • input-zone - No description for the parameter type: str more...
    • internet-service-app-ctrl-category - No description for the parameter type: int more...
    • passive-measurement - Enable/disable passive measurement based on the service criteria. type: str choices: [disable, enable] more...
    • priority-zone - No description for the parameter type: str more...

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: no description
     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]>
           input-zone: <value of string>
           internet-service-app-ctrl-category: <value of integer>
           passive-measurement: <value in [disable, enable]>
           priority-zone: <value of string>

Return Values

Common return values are documented: https://docs.ansible.com/ansible/latest/reference_appendices/common_return_values.html#common-return-values, the following are the fields unique to this module:

  • request_url - The full url requested returned: always type: str sample: /sys/login/user
  • response_code - The status of api request returned: always type: int sample: 0
  • response_message - The descriptive message of the api response returned: always type: str sample: OK
  • response_data - The data body of the api response returned: optional type: list or dict

Status

  • This module is not guaranteed to have a backwards compatible interface.

Authors

  • Link Zheng (@chillancezen)
  • Jie Xue (@JieX19)
  • Frank Shen (@fshen01)
  • Hongbin Lu (@fgtdev-hblu)

Hint

If you notice any issues in this documentation, you can create a pull request to improve it.