fadcos_virtual_server – virtual server configuration in Fortinet’s FortiADC

New in version 1.0.0.

Synopsis

  • Configure FortiADC virtual server

Requirements

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

  • ansible>=2.8

FortiADC Version Compatibility


v7.0.0 v7.0.1 v7.0.2 v7.1.0 v7.1.4 v7.2.2 v7.4.0
fortiadc_virtual_server yes yes yes yes yes yes yes

Parameters

  • action - Type of action to perform on the object.type: str required: true
  • name - virtual-server nametype: str required: true
  • status - enable/maintain/disable virtual servertype: str required: true
  • iptype - address type ipv4/ipv6type: str required: false default: ipv4
  • ip - ip address of virtual servertype: str required: true
  • public_iptype - address type ipv4/ipv6type: str required: false default: ipv4
  • public_ip - public ip address of virtual servertype: str required: false default: 0.0.0.0
  • interface - interface nametype: str required: true
  • vstype - virtual-server service type l4-load-balance/l7-load-balance/l2-load-balancetype: str required: false default: l4-load-balance
  • pool - ip pool nametype: str required: true
  • port - virtual server service port 1-65535type: str required: false default: 80
  • profile - profile nametype: str required: true
  • method - "method nametype: str required: false default: LB_METHOD_ROUND_ROBIN
  • ssl_mirror - enable/disable SSL mirrortype: str required: false default: disable
  • ssl_mirror_intf - interface list to mirrortype: str required: true (if ssl_mirror is enable)
  • traffic_group - traffic group name type: str required: false
  • traffic_log - enable/disable traffic logtype: str required: false default: disable
  • trans_rate_limit - virtual server transactions rate limittype: str required: false default: 0
  • warmrate - virtual server warm up rate 1-86400type: str required: false default: 100
  • warmup - virtual server warm up time 0-86400type: str required: false default: 0
  • alone - enable/disable alone modetype: str required: false default: enable
  • av_profile - antivirus profile nametype: str required: false
  • client_ssl_profile - client SSL profiletype: str required: true
  • clone_pool - clone pool nametype: str required: false default:
  • clone_traffic_type - the traffic type to be cloned both-sides/client-side/server-sidetype: str required: false default: both-sides
  • connection_rate_limit - virtual server connection rate limit(0 - disable) 0-86400type: str required: false default: 0
  • connection_limit - connection-limit 0-100000000type: str required: false default: 0
  • content_rewriting - content rewritingtype: str required: false default: disable
  • content_rewriting_list - content rewriting listtype: list required: true (if content rewriting is enable)
  • content_routing - content routingtype: str required: false default: disable
  • content_routing_list - content routing listtype: list required: true (if content routing is enable)
  • schedule_list - enable/disable schedule listtype: list required: false default: disable
  • schedule_pool_list - schedule pool nametype: list required: false
  • scripting_flag - enable/disable virtual server scriptingtype: str required: false default: disable
  • scripting_list - virtual server scripting listtype: str required: true (if scripting_flag is enable)
  • source_pool_list - ip pool nametype: list required: false
  • waf_profile - web application firewall profile nametype: str required: false
  • http2https - enable/disable redirect HTTP request to HTTPStype: str required: false default: disable
  • http2https_port - HTTP service port list for redirecting HTTP to HTTPStype: str required: false default: 80
  • l2_exception_list - layer2 exception listtype: str required: false
  • packet_fwd_method - packet forwarding method direct_routing/NAT/FullNAT/NAT46/NAT64/tunnelingtype: str required: false default: NAT
  • pagespeed - virtual server pagespeedtype: str required: false
  • persistence - persistence nametype: str required: false
  • protocol - "virtual server protocol numberstype: str required: false default: 0
  • adfs_published_service - AD FS published servicetype: str required: false
  • error_msg - error messagetype: str required: false default: Server-unavailable!
  • error_page - error-page nametype: str required: false
  • fortiview - enable/disable fortiviewtype: str required: false default: disable
  • wccp - enable/disable redirect HTTP/HTTPS request to WCCP clienttype: str required: false default: disable
  • comments - virtual server commentstype: str required: false default: ""
  • vdom - VDOM name if enabled.type: str required: true(if VDOM is enabled)

Examples

- name:
  hosts: all
  connection: httpapi
  gather_facts: false
  tasks:
        - name: Manage virtual server
          fadcos_virtual_server:
           action: edit
           name: test
           status: enable
           iptype: ipv4
           ip: 7.7.7.1
           interface: port3
           pool: rs_pool
           port: 80
           profile: LB_PROF_TCP
           vstype: l4-load-balance

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:

  • 200 - OK: Request returns successful.
  • 400 - Bad Request: Request cannot be processed by the API.
  • 401 - Not Authorized: Request without successful login session.
  • 403 - Forbidden: Request is missing CSRF token or administrator is missing access profile permissions.
  • 404 - Resource Not Found: Unable to find the specified resource.
  • 405 - Method Not Allowed: Specified HTTP method is not allowed for this resource.
  • 413 - Request Entity Too Large: Request cannot be processed due to large entity.
  • 424 - Failed Dependency: Fail dependency can be duplicate resource, missing required parameter, missing required attribute, or invalid attribute value.
  • 429 - Access temporarily blocked: Maximum failed authentications reached. The offended source is temporarily blocked for certain amount of time.
  • 500 - Internal Server Error: Internal error when processing the request.

For errorcode please check FortiADC API errorcode at : https://fndn.fortinet.net/index.php?/fortiapi/981-fortiadc/

Status

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

Authors

  • Jie Li
  • Aravindh Sri

Hint

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