fortinet.fortimanager.fmgr_firewall_vip module – Configure virtual IP for IPv4.
Note
This module is part of the fortinet.fortimanager collection (version 2.8.0).
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_firewall_vip
.
New in fortinet.fortimanager 1.0.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:
|
|
The top level parameters set. |
|
Enable/disable adding NAT46 route. Choices:
|
|
Enable to respond to ARP requests for this virtual IP address. Choices:
|
|
Color of icon on the GUI. |
|
Comment. |
|
DNS mapping TTL |
|
Dynamic mapping. |
|
Scope. |
|
Name. |
|
Vdom. |
|
Enable/disable adding NAT46 route. Choices:
|
|
Arp reply. Choices:
|
|
Color. |
|
Comment. |
|
Dns mapping ttl. |
|
(list or str) Extaddr. |
|
Extintf. |
|
Extip. |
|
Extport. |
|
Gratuitous arp interval. |
|
Domain to use when integrating with FortiGSLB. |
|
Hostname to use within the configured FortiGSLB domain. |
|
Enable/disable HTTP2 support Choices:
|
|
Enable/disable HTTP3/QUIC support Choices:
|
|
Http cookie age. |
|
Http cookie domain. |
|
Http cookie domain from host. Choices:
|
|
Http cookie generation. |
|
Http cookie path. |
|
Http cookie share. Choices:
|
|
Http ip header. Choices:
|
|
Http ip header name. |
|
Http multiplex. Choices:
|
|
Maximum number of concurrent requests that a multiplex server can handle |
|
Maximum number of requests that a multiplex server can handle before disconnecting sessions |
|
Time-to-live for idle connections to servers. |
|
Http redirect. Choices:
|
|
Maximum supported HTTP versions. Choices:
|
|
Https cookie secure. Choices:
|
|
Id. |
|
Range of mapped IPv6 addresses. |
|
IPv6 port number range on the destination network to which the external port number range is mapped. |
|
Ldb method. Choices:
|
|
Mapped addr. |
|
(list) Mappedip. |
|
Mappedport. |
|
Max embryonic connections. |
|
(list or str) Monitor. |
|
Enable/disable NAT44. Choices:
|
|
Enable/disable NAT46. Choices:
|
|
Nat source vip. Choices:
|
|
Enable/disable one click GSLB server integration with FortiGSLB. Choices:
|
|
Outlook web access. Choices:
|
|
Persistence. Choices:
|
|
Portforward. Choices:
|
|
Portmapping type. Choices:
|
|
Protocol. Choices:
|
|
Realservers. |
|
Address. |
|
(list) Client ip. |
|
Health check proto. Choices:
|
|
Healthcheck. Choices:
|
|
Holddown interval. |
|
Http host. |
|
Id. |
|
Ip. |
|
Max connections. |
|
(list or str) Monitor. |
|
Port. |
|
Seq. |
|
Status. Choices:
|
|
Enable/disable translation of hostname/IP from virtual server to real server. Choices:
|
|
Type. Choices:
|
|
Weight. |
|
Server type. Choices:
|
|
(list or str) Service. |
|
(list) Src filter. |
|
Enable/disable use of src-filter to match destinations for the reverse SNAT rule. Choices:
|
|
(list) Srcintf filter. |
|
Enable/disable FFDHE cipher suite for SSL key exchange. Choices:
|
|
Ssl algorithm. Choices:
|
|
Ssl certificate. |
|
Ssl cipher suites. |
|
Cipher. Choices:
|
|
Id. |
|
Priority. |
|
Versions. Choices:
|
|
Ssl client fallback. Choices:
|
|
Ssl client rekey count. |
|
Ssl client renegotiation. Choices:
|
|
Ssl client session state max. |
|
Ssl client session state timeout. |
|
Ssl client session state type. Choices:
|
|
Ssl dh bits. Choices:
|
|
Ssl hpkp. Choices:
|
|
Ssl hpkp age. |
|
Ssl hpkp backup. |
|
Ssl hpkp include subdomains. Choices:
|
|
Ssl hpkp primary. |
|
Ssl hpkp report uri. |
|
Ssl hsts. Choices:
|
|
Ssl hsts age. |
|
Ssl hsts include subdomains. Choices:
|
|
Ssl http location conversion. Choices:
|
|
Ssl http match host. Choices:
|
|
Ssl max version. Choices:
|
|
Ssl min version. Choices:
|
|
Ssl mode. Choices:
|
|
Ssl pfs. Choices:
|
|
Ssl send empty frags. Choices:
|
|
Ssl server algorithm. Choices:
|
|
Ssl server max version. Choices:
|
|
Ssl server min version. Choices:
|
|
Enable/disable secure renegotiation to comply with RFC 5746. Choices:
|
|
Ssl server session state max. |
|
Ssl server session state timeout. |
|
Ssl server session state type. Choices:
|
|
Enable/disable VIP. Choices:
|
|
Type. Choices:
|
|
Uuid. |
|
Weblogic server. Choices:
|
|
Websphere server. Choices:
|
|
(list or str) External FQDN address name. |
|
Interface connected to the source network that receives the packets that will be forwarded to the destination network. |
|
IP address or address range on the external interface that you want to map to an address or address range on the destinati… |
|
Incoming port number range that you want to map to a port number range on the destination network. |
|
Enable to have the VIP send gratuitous ARPs. |
|
Domain to use when integrating with FortiGSLB. |
|
Hostname to use within the configured FortiGSLB domain. |
|
Gslb public ips. |
|
Index of this public IP setting. |
|
The publicly accessible IP address. |
|
Enable/disable HTTP2 support Choices:
|
|
Enable/disable HTTP3/QUIC support Choices:
|
|
Time in minutes that client web browsers should keep a cookie. |
|
Domain that HTTP cookie persistence should apply to. |
|
Enable/disable use of HTTP cookie domain from host field in HTTP. Choices:
|
|
Generation of HTTP cookie to be accepted. |
|
Limit HTTP cookie persistence to the specified path. |
|
Control sharing of cookies across virtual servers. Choices:
|
|
For HTTP multiplexing, enable to add the original client IP address in the XForwarded-For HTTP header. Choices:
|
|
For HTTP multiplexing, enter a custom HTTPS header name. |
|
Enable/disable HTTP multiplexing. Choices:
|
|
Maximum number of concurrent requests that a multiplex server can handle |
|
Maximum number of requests that a multiplex server can handle before disconnecting sessions |
|
Time-to-live for idle connections to servers. |
|
Enable/disable redirection of HTTP to HTTPS Choices:
|
|
Maximum supported HTTP versions. Choices:
|
|
Enable/disable verification that inserted HTTPS cookies are secure. Choices:
|
|
Custom defined ID. |
|
Range of mapped IPv6 addresses. |
|
IPv6 port number range on the destination network to which the external port number range is mapped. |
|
Method used to distribute sessions to real servers. Choices:
|
|
Mapped FQDN address name. |
|
(list) IP address or address range on the destination network to which the external IP address is mapped. |
|
Port number range on the destination network to which the external port number range is mapped. |
|
Maximum number of incomplete connections. |
|
(list or str) Name of the health check monitor to use when polling to determine a virtual servers connectivity status. |
|
Virtual IP name. |
|
Enable/disable NAT44. Choices:
|
|
Enable/disable NAT46. Choices:
|
|
Enable/disable forcing the source NAT mapped IP to the external IP for all traffic. Choices:
|
|
Enable/disable one click GSLB server integration with FortiGSLB. Choices:
|
|
Enable to add the Front-End-Https header for Microsoft Outlook Web Access. Choices:
|
|
Configure how to make sure that clients connect to the same server every time they make a request that is part of the same… Choices:
|
|
Enable/disable port forwarding. Choices:
|
|
Port mapping type. Choices:
|
|
Protocol to use when forwarding packets. Choices:
|
|
Quic. |
|
ACK delay exponent |
|
Active connection ID limit |
|
Enable/disable active migration Choices:
|
|
Enable/disable grease QUIC bit Choices:
|
|
Maximum ACK delay in milliseconds |
|
Maximum datagram frame size in bytes |
|
Maximum idle timeout milliseconds |
|
Maximum UDP payload size in bytes |
|
Realservers. |
|
Dynamic address of the real server. |
|
(list) Only clients in this IP range can connect to this real server. |
|
Enable to check the responsiveness of the real server before forwarding traffic. Choices:
|
|
Time in seconds that the health check monitor continues to monitor and unresponsive server that should be active. |
|
HTTP server domain name in HTTP header. |
|
Real server ID. |
|
IP address of the real server. |
|
Max number of active connections that can be directed to the real server. |
|
(list or str) Name of the health check monitor to use when polling to determine a virtual servers connectivity status. |
|
Port for communicating with the real server. |
|
Seq. |
|
Set the status of the real server to active so that it can accept traffic, or on standby or disabled so no traffic… Choices:
|
|
Enable/disable translation of hostname/IP from virtual server to real server. Choices:
|
|
Type of address. Choices:
|
|
Weight of the real server. |
|
Protocol to be load balanced by the virtual server Choices:
|
|
(list or str) Service name. |
|
(list) Source address filter. |
|
Enable/disable use of src-filter to match destinations for the reverse SNAT rule. Choices:
|
|
(list or str) Interfaces to which the VIP applies. |
|
Enable/disable FFDHE cipher suite for SSL key exchange. Choices:
|
|
Permitted encryption algorithms for SSL sessions according to encryption strength. Choices:
|
|
The name of the SSL certificate to use for SSL acceleration. |
|
Ssl cipher suites. |
|
Cipher suite name. Choices:
|
|
Id. |
|
SSL/TLS cipher suites priority. |
|
SSL/TLS versions that the cipher suite can be used with. Choices:
|
|
Enable/disable support for preventing Downgrade Attacks on client connections Choices:
|
|
Maximum length of data in MB before triggering a client rekey |
|
Allow, deny, or require secure renegotiation of client sessions to comply with RFC 5746. Choices:
|
|
Maximum number of client to FortiGate SSL session states to keep. |
|
Number of minutes to keep client to FortiGate SSL session state. |
|
How to expire SSL sessions for the segment of the SSL connection between the client and the FortiGate. Choices:
|
|
Number of bits to use in the Diffie-Hellman exchange for RSA encryption of SSL sessions. Choices:
|
|
Enable/disable including HPKP header in response. Choices:
|
|
Number of seconds the client should honour the HPKP setting. |
|
Certificate to generate backup HPKP pin from. |
|
Indicate that HPKP header applies to all subdomains. Choices:
|
|
Certificate to generate primary HPKP pin from. |
|
URL to report HPKP violations to. |
|
Enable/disable including HSTS header in response. Choices:
|
|
Number of seconds the client should honour the HSTS setting. |
|
Indicate that HSTS header applies to all subdomains. Choices:
|
|
Enable to replace HTTP with HTTPS in the replys Location HTTP header field. Choices:
|
|
Enable/disable HTTP host matching for location conversion. Choices:
|
|
Highest SSL/TLS version acceptable from a client. Choices:
|
|
Lowest SSL/TLS version acceptable from a client. Choices:
|
|
Apply SSL offloading between the client and the FortiGate Choices:
|
|
Select the cipher suites that can be used for SSL perfect forward secrecy Choices:
|
|
Enable/disable sending empty fragments to avoid CBC IV attacks Choices:
|
|
Permitted encryption algorithms for the server side of SSL full mode sessions according to encryption strength. Choices:
|
|
Ssl server cipher suites. |
|
Cipher suite name. Choices:
|
|
SSL/TLS cipher suites priority. |
|
SSL/TLS versions that the cipher suite can be used with. Choices:
|
|
Highest SSL/TLS version acceptable from a server. Choices:
|
|
Lowest SSL/TLS version acceptable from a server. Choices:
|
|
Enable/disable secure renegotiation to comply with RFC 5746. Choices:
|
|
Maximum number of FortiGate to Server SSL session states to keep. |
|
Number of minutes to keep FortiGate to Server SSL session state. |
|
How to expire SSL sessions for the segment of the SSL connection between the server and the FortiGate. Choices:
|
|
Enable/disable VIP. Choices:
|
|
Configure a static NAT, load balance, DNS translation, or FQDN VIP. Choices:
|
|
Universally Unique Identifier |
|
Enable to add an HTTP header to indicate SSL offloading for a WebLogic server. Choices:
|
|
Enable to add an HTTP header to indicate SSL offloading for a WebSphere server. 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 directive to create, update or delete an object. 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.
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
- name: Demo of cloning objects in FortiManager
hosts: fortimanagers
connection: httpapi
vars:
ansible_httpapi_use_ssl: true
ansible_httpapi_validate_certs: false
ansible_httpapi_port: 443
initial_vip_object: "vip_object0"
cloned_vip_objects:
- name: "vip_object1"
comment: "vip_object1 is cloned!"
- name: "vip_object2"
comment: "vip_object2 is cloned!"
tasks:
- name: Create An VIP object
fortinet.fortimanager.fmgr_firewall_vip:
adom: "root"
state: "present"
firewall_vip:
arp-reply: "disable"
comment: "The VIP is created via Ansible"
name: "{{ initial_vip_object }}"
protocol: "tcp"
type: "load-balance"
- name: Clone an VIP object using fmgr_clone module.
fortinet.fortimanager.fmgr_clone:
rc_succeeded: [-2]
clone:
selector: "firewall_vip"
self:
adom: "root"
vip: "{{ initial_vip_object }}"
target:
name: "{{ item.name }}"
comment: "{{ item.comment }}"
with_items: "{{ cloned_vip_objects }}"
- name: Example playbook
hosts: fortimanagers
connection: httpapi
vars:
ansible_httpapi_use_ssl: true
ansible_httpapi_validate_certs: false
ansible_httpapi_port: 443
tasks:
- name: Configure virtual IP for IPv4.
fortinet.fortimanager.fmgr_firewall_vip:
bypass_validation: true
adom: ansible
state: present
firewall_vip:
arp-reply: disable # <value in [disable, enable]>
color: 1
comment: "ansible-comment"
id: 1
name: "ansible-test-vip"
protocol: tcp # <value in [tcp, udp, sctp, ...]>
type: load-balance # <value in [static-nat, load-balance, server-load-balance, ...]>
- name: Gathering fortimanager facts
hosts: fortimanagers
gather_facts: false
connection: httpapi
vars:
ansible_httpapi_use_ssl: true
ansible_httpapi_validate_certs: false
ansible_httpapi_port: 443
tasks:
- name: Retrieve all the virtual IPs for IPv4
fortinet.fortimanager.fmgr_fact:
facts:
selector: "firewall_vip"
params:
adom: "ansible"
vip: "your_value"
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 |