fortinet.fortimanager.fmgr_firewall_vip – Configure virtual IP for IPv4.
Note
This plugin is part of the fortinet.fortimanager collection (version 2.1.3).
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 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 | |||
enable_log boolean |
| Enable/Disable logging for task | |||
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 | |||
http-redirect 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 | ||||
address string | no description | ||||
client-ip string | no description | ||||
healthcheck string |
| no description | |||
holddown-interval integer | no description | ||||
http-host string | no description | ||||
id integer | 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 | |||
type 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 | ||||
priority integer | no description | ||||
versions list / elements=string |
| no description | |||
ssl-client-fallback string |
| no description | |||
ssl-client-rekey-count integer | 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 | |||
status string |
| Enable/disable VIP. | |||
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. | |||
http-redirect string |
| Enable/disable redirection of HTTP to HTTPS | |||
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 | ||||
address string | Dynamic address of the real server. | ||||
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. | ||||
id integer | Real server ID. | ||||
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 ... | |||
type string |
| Type of address. | |||
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 | ||||
priority integer | SSL/TLS cipher suites priority. | ||||
versions list / elements=string |
| no description | |||
ssl-client-fallback string |
| Enable/disable support for preventing Downgrade Attacks on client connections (RFC 7507). | |||
ssl-client-rekey-count integer | Maximum length of data in MB before triggering a client rekey (0 = disable). | ||||
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. | |||
status string |
| Enable/disable VIP. | |||
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. | |||
proposed_method string |
| 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 |
| 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> address: <value of string> id: <value of integer> type: <value in [ip, address]> 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 - tls-1.3 priority: <value of integer> 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]> http-redirect: <value in [disable, enable]> ssl-client-rekey-count: <value of integer> status: <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> address: <value of string> id: <value of integer> type: <value in [ip, address]> 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 - tls-1.3 priority: <value of integer> 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 - tls-1.3 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]> http-redirect: <value in [disable, enable]> ssl-client-rekey-count: <value of integer> status: <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/latest/collections/fortinet/fortimanager/fmgr_firewall_vip_module.html