fortinet.fortimanager.fmgr_firewall_vip – Configure virtual IP for IPv4.
Note
This plugin is part of the fortinet.fortimanager collection (version 2.0.1).
To install it use: ansible-galaxy collection install fortinet.fortimanager.
To use it in a playbook, specify: fortinet.fortimanager.fmgr_firewall_vip.
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 |
| only set to True when module schema diffs with FortiManager API structure, module continues to execute without validating parameters | |||
| firewall_vip dictionary | the top level parameters set | ||||
| arp-reply string |
| Enable to respond to ARP requests for this virtual IP address. Enabled by default. | |||
| color integer | Color of icon on the GUI. | ||||
| comment string | Comment. | ||||
| dns-mapping-ttl integer | DNS mapping TTL (Set to zero to use TTL in DNS response, default = 0). | ||||
| dynamic_mapping list / elements=string | no description | ||||
| _scope list / elements=string | no description | ||||
| name string | no description | ||||
| vdom string | no description | ||||
| arp-reply string |
| no description | |||
| color integer | no description | ||||
| comment string | no description | ||||
| dns-mapping-ttl integer | no description | ||||
| extaddr string | no description | ||||
| extintf string | no description | ||||
| extip string | no description | ||||
| extport string | no description | ||||
| gratuitous-arp-interval integer | no description | ||||
| http-cookie-age integer | no description | ||||
| http-cookie-domain string | no description | ||||
| http-cookie-domain-from-host string |
| no description | |||
| http-cookie-generation integer | no description | ||||
| http-cookie-path string | no description | ||||
| http-cookie-share string |
| no description | |||
| http-ip-header string |
| no description | |||
| http-ip-header-name string | no description | ||||
| http-multiplex string |
| no description | |||
| https-cookie-secure string |
| no description | |||
| id integer | no description | ||||
| ldb-method string |
| no description | |||
| mapped-addr string | no description | ||||
| mappedip string | no description | ||||
| mappedport string | no description | ||||
| max-embryonic-connections integer | no description | ||||
| monitor string | no description | ||||
| nat-source-vip string |
| no description | |||
| outlook-web-access string |
| no description | |||
| persistence string |
| no description | |||
| portforward string |
| no description | |||
| portmapping-type string |
| no description | |||
| protocol string |
| no description | |||
| realservers list / elements=string | no description | ||||
| client-ip string | no description | ||||
| healthcheck string |
| no description | |||
| holddown-interval integer | no description | ||||
| http-host string | no description | ||||
| ip string | no description | ||||
| max-connections integer | no description | ||||
| monitor string | no description | ||||
| port integer | no description | ||||
| seq integer | no description | ||||
| status string |
| no description | |||
| weight integer | no description | ||||
| server-type string |
| no description | |||
| service string | no description | ||||
| src-filter string | no description | ||||
| srcintf-filter string | no description | ||||
| ssl-algorithm string |
| no description | |||
| ssl-certificate string | no description | ||||
| ssl-cipher-suites list / elements=string | no description | ||||
| cipher string |
| no description | |||
| id integer | no description | ||||
| versions list / elements=string |
| no description | |||
| ssl-client-fallback string |
| no description | |||
| ssl-client-renegotiation string |
| no description | |||
| ssl-client-session-state-max integer | no description | ||||
| ssl-client-session-state-timeout integer | no description | ||||
| ssl-client-session-state-type string |
| no description | |||
| ssl-dh-bits string |
| no description | |||
| ssl-hpkp string |
| no description | |||
| ssl-hpkp-age integer | no description | ||||
| ssl-hpkp-backup string | no description | ||||
| ssl-hpkp-include-subdomains string |
| no description | |||
| ssl-hpkp-primary string | no description | ||||
| ssl-hpkp-report-uri string | no description | ||||
| ssl-hsts string |
| no description | |||
| ssl-hsts-age integer | no description | ||||
| ssl-hsts-include-subdomains string |
| no description | |||
| ssl-http-location-conversion string |
| no description | |||
| ssl-http-match-host string |
| no description | |||
| ssl-max-version string |
| no description | |||
| ssl-min-version string |
| no description | |||
| ssl-mode string |
| no description | |||
| ssl-pfs string |
| no description | |||
| ssl-send-empty-frags string |
| no description | |||
| ssl-server-algorithm string |
| no description | |||
| ssl-server-max-version string |
| no description | |||
| ssl-server-min-version string |
| no description | |||
| ssl-server-session-state-max integer | no description | ||||
| ssl-server-session-state-timeout integer | no description | ||||
| ssl-server-session-state-type string |
| no description | |||
| type string |
| no description | |||
| uuid string | no description | ||||
| weblogic-server string |
| no description | |||
| websphere-server string |
| no description | |||
| extaddr string | External FQDN address name. | ||||
| extintf string | Interface connected to the source network that receives the packets that will be forwarded to the destination network. | ||||
| extip string | IP address or address range on the external interface that you want to map to an address or address range on the destination n... | ||||
| extport string | Incoming port number range that you want to map to a port number range on the destination network. | ||||
| gratuitous-arp-interval integer | Enable to have the VIP send gratuitous ARPs. 0=disabled. Set from 5 up to 8640000 seconds to enable. | ||||
| http-cookie-age integer | Time in minutes that client web browsers should keep a cookie. Default is 60 seconds. 0 = no time limit. | ||||
| http-cookie-domain string | Domain that HTTP cookie persistence should apply to. | ||||
| http-cookie-domain-from-host string |
| Enable/disable use of HTTP cookie domain from host field in HTTP. | |||
| http-cookie-generation integer | Generation of HTTP cookie to be accepted. Changing invalidates all existing cookies. | ||||
| http-cookie-path string | Limit HTTP cookie persistence to the specified path. | ||||
| http-cookie-share string |
| Control sharing of cookies across virtual servers. same-ip means a cookie from one virtual server can be used by another. Disa... | |||
| http-ip-header string |
| For HTTP multiplexing, enable to add the original client IP address in the XForwarded-For HTTP header. | |||
| http-ip-header-name string | For HTTP multiplexing, enter a custom HTTPS header name. The original client IP address is added to this header. If empty, X-F... | ||||
| http-multiplex string |
| Enable/disable HTTP multiplexing. | |||
| https-cookie-secure string |
| Enable/disable verification that inserted HTTPS cookies are secure. | |||
| id integer | Custom defined ID. | ||||
| ldb-method string |
| Method used to distribute sessions to real servers. | |||
| mapped-addr string | Mapped FQDN address name. | ||||
| mappedip string | no description | ||||
| mappedport string | Port number range on the destination network to which the external port number range is mapped. | ||||
| max-embryonic-connections integer | Maximum number of incomplete connections. | ||||
| monitor string | Name of the health check monitor to use when polling to determine a virtual servers connectivity status. | ||||
| name string | Virtual IP name. | ||||
| nat-source-vip string |
| Enable/disable forcing the source NAT mapped IP to the external IP for all traffic. | |||
| outlook-web-access string |
| Enable to add the Front-End-Https header for Microsoft Outlook Web Access. | |||
| persistence string |
| Configure how to make sure that clients connect to the same server every time they make a request that is part of the same ses... | |||
| portforward string |
| Enable/disable port forwarding. | |||
| portmapping-type string |
| Port mapping type. | |||
| protocol string |
| Protocol to use when forwarding packets. | |||
| realservers list / elements=string | no description | ||||
| client-ip string | no description | ||||
| healthcheck string |
| Enable to check the responsiveness of the real server before forwarding traffic. | |||
| holddown-interval integer | Time in seconds that the health check monitor continues to monitor and unresponsive server that should be active. | ||||
| http-host string | HTTP server domain name in HTTP header. | ||||
| ip string | IP address of the real server. | ||||
| max-connections integer | Max number of active connections that can be directed to the real server. When reached, sessions are sent to other rea... | ||||
| monitor string | Name of the health check monitor to use when polling to determine a virtual servers connectivity status. | ||||
| port integer | Port for communicating with the real server. Required if port forwarding is enabled. | ||||
| seq integer | no description | ||||
| status string |
| Set the status of the real server to active so that it can accept traffic, or on standby or disabled so no traffic is ... | |||
| weight integer | Weight of the real server. If weighted load balancing is enabled, the server with the highest weight gets more connect... | ||||
| server-type string |
| Protocol to be load balanced by the virtual server (also called the server load balance virtual IP). | |||
| service string | Service name. | ||||
| src-filter string | no description | ||||
| srcintf-filter string | Interfaces to which the VIP applies. Separate the names with spaces. | ||||
| ssl-algorithm string |
| Permitted encryption algorithms for SSL sessions according to encryption strength. | |||
| ssl-certificate string | The name of the SSL certificate to use for SSL acceleration. | ||||
| ssl-cipher-suites list / elements=string | no description | ||||
| cipher string |
| Cipher suite name. | |||
| id integer | no description | ||||
| versions list / elements=string |
| no description | |||
| ssl-client-fallback string |
| Enable/disable support for preventing Downgrade Attacks on client connections (RFC 7507). | |||
| ssl-client-renegotiation string |
| Allow, deny, or require secure renegotiation of client sessions to comply with RFC 5746. | |||
| ssl-client-session-state-max integer | Maximum number of client to FortiGate SSL session states to keep. | ||||
| ssl-client-session-state-timeout integer | Number of minutes to keep client to FortiGate SSL session state. | ||||
| ssl-client-session-state-type string |
| How to expire SSL sessions for the segment of the SSL connection between the client and the FortiGate. | |||
| ssl-dh-bits string |
| Number of bits to use in the Diffie-Hellman exchange for RSA encryption of SSL sessions. | |||
| ssl-hpkp string |
| Enable/disable including HPKP header in response. | |||
| ssl-hpkp-age integer | Number of seconds the client should honour the HPKP setting. | ||||
| ssl-hpkp-backup string | Certificate to generate backup HPKP pin from. | ||||
| ssl-hpkp-include-subdomains string |
| Indicate that HPKP header applies to all subdomains. | |||
| ssl-hpkp-primary string | Certificate to generate primary HPKP pin from. | ||||
| ssl-hpkp-report-uri string | URL to report HPKP violations to. | ||||
| ssl-hsts string |
| Enable/disable including HSTS header in response. | |||
| ssl-hsts-age integer | Number of seconds the client should honour the HSTS setting. | ||||
| ssl-hsts-include-subdomains string |
| Indicate that HSTS header applies to all subdomains. | |||
| ssl-http-location-conversion string |
| Enable to replace HTTP with HTTPS in the replys Location HTTP header field. | |||
| ssl-http-match-host string |
| Enable/disable HTTP host matching for location conversion. | |||
| ssl-max-version string |
| Highest SSL/TLS version acceptable from a client. | |||
| ssl-min-version string |
| Lowest SSL/TLS version acceptable from a client. | |||
| ssl-mode string |
| Apply SSL offloading between the client and the FortiGate (half) or from the client to the FortiGate and from the FortiGate to... | |||
| ssl-pfs string |
| Select the cipher suites that can be used for SSL perfect forward secrecy (PFS). Applies to both client and server sessions. | |||
| ssl-send-empty-frags string |
| Enable/disable sending empty fragments to avoid CBC IV attacks (SSL 3.0 & TLS 1.0 only). May need to be disabled for compatibi... | |||
| ssl-server-algorithm string |
| Permitted encryption algorithms for the server side of SSL full mode sessions according to encryption strength. | |||
| ssl-server-cipher-suites list / elements=string | no description | ||||
| cipher string |
| Cipher suite name. | |||
| priority integer | SSL/TLS cipher suites priority. | ||||
| versions list / elements=string |
| no description | |||
| ssl-server-max-version string |
| Highest SSL/TLS version acceptable from a server. Use the client setting by default. | |||
| ssl-server-min-version string |
| Lowest SSL/TLS version acceptable from a server. Use the client setting by default. | |||
| ssl-server-session-state-max integer | Maximum number of FortiGate to Server SSL session states to keep. | ||||
| ssl-server-session-state-timeout integer | Number of minutes to keep FortiGate to Server SSL session state. | ||||
| ssl-server-session-state-type string |
| How to expire SSL sessions for the segment of the SSL connection between the server and the FortiGate. | |||
| type string |
| Configure a static NAT, load balance, DNS translation, or FQDN VIP. | |||
| uuid string | Universally Unique Identifier (UUID; automatically assigned but can be manually reset). | ||||
| weblogic-server string |
| Enable to add an HTTP header to indicate SSL offloading for a WebLogic server. | |||
| websphere-server string |
| Enable to add an HTTP header to indicate SSL offloading for a WebSphere server. | |||
| 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 |
| the directive to create, update or delete an object | |||
| 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: Configure virtual IP for IPv4.
fmgr_firewall_vip:
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>
state: <value in [present, absent]>
firewall_vip:
arp-reply: <value in [disable, enable]>
color: <value of integer>
comment: <value of string>
dns-mapping-ttl: <value of integer>
dynamic_mapping:
-
_scope:
-
name: <value of string>
vdom: <value of string>
arp-reply: <value in [disable, enable]>
color: <value of integer>
comment: <value of string>
dns-mapping-ttl: <value of integer>
extaddr: <value of string>
extintf: <value of string>
extip: <value of string>
extport: <value of string>
gratuitous-arp-interval: <value of integer>
http-cookie-age: <value of integer>
http-cookie-domain: <value of string>
http-cookie-domain-from-host: <value in [disable, enable]>
http-cookie-generation: <value of integer>
http-cookie-path: <value of string>
http-cookie-share: <value in [disable, same-ip]>
http-ip-header: <value in [disable, enable]>
http-ip-header-name: <value of string>
http-multiplex: <value in [disable, enable]>
https-cookie-secure: <value in [disable, enable]>
id: <value of integer>
ldb-method: <value in [static, round-robin, weighted, ...]>
mapped-addr: <value of string>
mappedip: <value of string>
mappedport: <value of string>
max-embryonic-connections: <value of integer>
monitor: <value of string>
nat-source-vip: <value in [disable, enable]>
outlook-web-access: <value in [disable, enable]>
persistence: <value in [none, http-cookie, ssl-session-id]>
portforward: <value in [disable, enable]>
portmapping-type: <value in [1-to-1, m-to-n]>
protocol: <value in [tcp, udp, sctp, ...]>
realservers:
-
client-ip: <value of string>
healthcheck: <value in [disable, enable, vip]>
holddown-interval: <value of integer>
http-host: <value of string>
ip: <value of string>
max-connections: <value of integer>
monitor: <value of string>
port: <value of integer>
seq: <value of integer>
status: <value in [active, standby, disable]>
weight: <value of integer>
server-type: <value in [http, https, ssl, ...]>
service: <value of string>
src-filter: <value of string>
srcintf-filter: <value of string>
ssl-algorithm: <value in [high, medium, low, ...]>
ssl-certificate: <value of string>
ssl-cipher-suites:
-
cipher: <value in [TLS-RSA-WITH-RC4-128-MD5, TLS-RSA-WITH-RC4-128-SHA, TLS-RSA-WITH-DES-CBC-SHA, ...]>
id: <value of integer>
versions:
- ssl-3.0
- tls-1.0
- tls-1.1
- tls-1.2
ssl-client-fallback: <value in [disable, enable]>
ssl-client-renegotiation: <value in [deny, allow, secure]>
ssl-client-session-state-max: <value of integer>
ssl-client-session-state-timeout: <value of integer>
ssl-client-session-state-type: <value in [disable, time, count, ...]>
ssl-dh-bits: <value in [768, 1024, 1536, ...]>
ssl-hpkp: <value in [disable, enable, report-only]>
ssl-hpkp-age: <value of integer>
ssl-hpkp-backup: <value of string>
ssl-hpkp-include-subdomains: <value in [disable, enable]>
ssl-hpkp-primary: <value of string>
ssl-hpkp-report-uri: <value of string>
ssl-hsts: <value in [disable, enable]>
ssl-hsts-age: <value of integer>
ssl-hsts-include-subdomains: <value in [disable, enable]>
ssl-http-location-conversion: <value in [disable, enable]>
ssl-http-match-host: <value in [disable, enable]>
ssl-max-version: <value in [ssl-3.0, tls-1.0, tls-1.1, ...]>
ssl-min-version: <value in [ssl-3.0, tls-1.0, tls-1.1, ...]>
ssl-mode: <value in [half, full]>
ssl-pfs: <value in [require, deny, allow]>
ssl-send-empty-frags: <value in [disable, enable]>
ssl-server-algorithm: <value in [high, low, medium, ...]>
ssl-server-max-version: <value in [ssl-3.0, tls-1.0, tls-1.1, ...]>
ssl-server-min-version: <value in [ssl-3.0, tls-1.0, tls-1.1, ...]>
ssl-server-session-state-max: <value of integer>
ssl-server-session-state-timeout: <value of integer>
ssl-server-session-state-type: <value in [disable, time, count, ...]>
type: <value in [static-nat, load-balance, server-load-balance, ...]>
uuid: <value of string>
weblogic-server: <value in [disable, enable]>
websphere-server: <value in [disable, enable]>
extaddr: <value of string>
extintf: <value of string>
extip: <value of string>
extport: <value of string>
gratuitous-arp-interval: <value of integer>
http-cookie-age: <value of integer>
http-cookie-domain: <value of string>
http-cookie-domain-from-host: <value in [disable, enable]>
http-cookie-generation: <value of integer>
http-cookie-path: <value of string>
http-cookie-share: <value in [disable, same-ip]>
http-ip-header: <value in [disable, enable]>
http-ip-header-name: <value of string>
http-multiplex: <value in [disable, enable]>
https-cookie-secure: <value in [disable, enable]>
id: <value of integer>
ldb-method: <value in [static, round-robin, weighted, ...]>
mapped-addr: <value of string>
mappedip: <value of string>
mappedport: <value of string>
max-embryonic-connections: <value of integer>
monitor: <value of string>
name: <value of string>
nat-source-vip: <value in [disable, enable]>
outlook-web-access: <value in [disable, enable]>
persistence: <value in [none, http-cookie, ssl-session-id]>
portforward: <value in [disable, enable]>
portmapping-type: <value in [1-to-1, m-to-n]>
protocol: <value in [tcp, udp, sctp, ...]>
realservers:
-
client-ip: <value of string>
healthcheck: <value in [disable, enable, vip]>
holddown-interval: <value of integer>
http-host: <value of string>
ip: <value of string>
max-connections: <value of integer>
monitor: <value of string>
port: <value of integer>
seq: <value of integer>
status: <value in [active, standby, disable]>
weight: <value of integer>
server-type: <value in [http, https, ssl, ...]>
service: <value of string>
src-filter: <value of string>
srcintf-filter: <value of string>
ssl-algorithm: <value in [high, medium, low, ...]>
ssl-certificate: <value of string>
ssl-cipher-suites:
-
cipher: <value in [TLS-RSA-WITH-RC4-128-MD5, TLS-RSA-WITH-RC4-128-SHA, TLS-RSA-WITH-DES-CBC-SHA, ...]>
id: <value of integer>
versions:
- ssl-3.0
- tls-1.0
- tls-1.1
- tls-1.2
ssl-client-fallback: <value in [disable, enable]>
ssl-client-renegotiation: <value in [deny, allow, secure]>
ssl-client-session-state-max: <value of integer>
ssl-client-session-state-timeout: <value of integer>
ssl-client-session-state-type: <value in [disable, time, count, ...]>
ssl-dh-bits: <value in [768, 1024, 1536, ...]>
ssl-hpkp: <value in [disable, enable, report-only]>
ssl-hpkp-age: <value of integer>
ssl-hpkp-backup: <value of string>
ssl-hpkp-include-subdomains: <value in [disable, enable]>
ssl-hpkp-primary: <value of string>
ssl-hpkp-report-uri: <value of string>
ssl-hsts: <value in [disable, enable]>
ssl-hsts-age: <value of integer>
ssl-hsts-include-subdomains: <value in [disable, enable]>
ssl-http-location-conversion: <value in [disable, enable]>
ssl-http-match-host: <value in [disable, enable]>
ssl-max-version: <value in [ssl-3.0, tls-1.0, tls-1.1, ...]>
ssl-min-version: <value in [ssl-3.0, tls-1.0, tls-1.1, ...]>
ssl-mode: <value in [half, full]>
ssl-pfs: <value in [require, deny, allow]>
ssl-send-empty-frags: <value in [disable, enable]>
ssl-server-algorithm: <value in [high, low, medium, ...]>
ssl-server-cipher-suites:
-
cipher: <value in [TLS-RSA-WITH-RC4-128-MD5, TLS-RSA-WITH-RC4-128-SHA, TLS-RSA-WITH-DES-CBC-SHA, ...]>
priority: <value of integer>
versions:
- ssl-3.0
- tls-1.0
- tls-1.1
- tls-1.2
ssl-server-max-version: <value in [ssl-3.0, tls-1.0, tls-1.1, ...]>
ssl-server-min-version: <value in [ssl-3.0, tls-1.0, tls-1.1, ...]>
ssl-server-session-state-max: <value of integer>
ssl-server-session-state-timeout: <value of integer>
ssl-server-session-state-type: <value in [disable, time, count, ...]>
type: <value in [static-nat, load-balance, server-load-balance, ...]>
uuid: <value of string>
weblogic-server: <value in [disable, enable]>
websphere-server: <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)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/fortinet/fortimanager/fmgr_firewall_vip_module.html