fmgr_firewall_vip_dynamicmapping – Configure virtual IP for IPv4.

Added in version 2.0.0.

Warning

Starting in version 3.0.0, all input arguments will be named using the underscore naming convention (snake_case).

  • Argument name before 3.0.0: var-name, var name, var.name

  • New argument name starting in 3.0.0: var_name

FortiManager Ansible v2.4+ supports both previous argument name and new underscore name. You will receive deprecation warnings if you keep using the previous argument name. You can ignore the warning by setting deprecation_warnings=False in ansible.cfg.

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.

  • Tested with FortiManager v7.x.

Requirements

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

  • ansible>=2.15.0

FortiManager Version Compatibility

Supported Version Ranges: v6.0.0 -> latest

Parameters

  • access_token -The token to access FortiManager without using username and password. type: str required: false
  • 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
  • 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
  • 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
  • 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
  • adom - The parameter in requested url type: str required: true
  • vip - The parameter in requested url type: str required: true
  • firewall_vip_dynamicmapping - Configure virtual IP for IPv4. type: dict
    • _scope Scope. type: list more...
      • name Name. type: str more...
      • vdom Vdom. type: str more...
    • arp_reply (Alias name: arp-reply) Arp reply. type: str choices: [disable, enable] more...
    • color Color. type: int more...
    • comment Comment. type: str more...
    • dns_mapping_ttl (Alias name: dns-mapping-ttl) Dns mapping ttl. type: int more...
    • extaddr Extaddr. type: list or str more...
    • extintf Extintf. type: str more...
    • extip Extip. type: str more...
    • extport Extport. type: str more...
    • gratuitous_arp_interval (Alias name: gratuitous-arp-interval) Gratuitous arp interval. type: int more...
    • http_cookie_age (Alias name: http-cookie-age) Http cookie age. type: int more...
    • http_cookie_domain (Alias name: http-cookie-domain) Http cookie domain. type: str more...
    • http_cookie_domain_from_host (Alias name: http-cookie-domain-from-host) Http cookie domain from host. type: str choices: [disable, enable] more...
    • http_cookie_generation (Alias name: http-cookie-generation) Http cookie generation. type: int more...
    • http_cookie_path (Alias name: http-cookie-path) Http cookie path. type: str more...
    • http_cookie_share (Alias name: http-cookie-share) Http cookie share. type: str choices: [disable, same-ip] more...
    • http_ip_header (Alias name: http-ip-header) Http ip header. type: str choices: [disable, enable] more...
    • http_ip_header_name (Alias name: http-ip-header-name) Http ip header name. type: str more...
    • http_multiplex (Alias name: http-multiplex) Http multiplex. type: str choices: [disable, enable] more...
    • https_cookie_secure (Alias name: https-cookie-secure) Https cookie secure. type: str choices: [disable, enable] more...
    • id Id. type: int more...
    • ldb_method (Alias name: ldb-method) Ldb method. type: str choices: [static, round-robin, weighted, least-session, least-rtt, first-alive, http-host] more...
    • mapped_addr (Alias name: mapped-addr) Mapped addr. type: str more...
    • mappedip Mappedip. type: list more...
    • mappedport Mappedport. type: str more...
    • max_embryonic_connections (Alias name: max-embryonic-connections) Max embryonic connections. type: int more...
    • monitor Monitor. type: list or str more...
    • nat_source_vip (Alias name: nat-source-vip) Nat source vip. type: str choices: [disable, enable] more...
    • outlook_web_access (Alias name: outlook-web-access) Outlook web access. type: str choices: [disable, enable] more...
    • persistence Persistence. type: str choices: [none, http-cookie, ssl-session-id] more...
    • portforward Portforward. type: str choices: [disable, enable] more...
    • portmapping_type (Alias name: portmapping-type) Portmapping type. type: str choices: [1-to-1, m-to-n] more...
    • protocol Protocol. type: str choices: [tcp, udp, sctp, icmp] more...
    • realservers Realservers. type: list more...
      • client_ip (Alias name: client-ip) Client ip. type: list more...
      • healthcheck Healthcheck. type: str choices: [disable, enable, vip] more...
      • holddown_interval (Alias name: holddown-interval) Holddown interval. type: int more...
      • http_host (Alias name: http-host) Http host. type: str more...
      • ip Ip. type: str more...
      • max_connections (Alias name: max-connections) Max connections. type: int more...
      • monitor Monitor. type: list or str more...
      • port Port. type: int more...
      • seq Seq. type: int more...
      • status Status. type: str choices: [active, standby, disable] more...
      • weight Weight. type: int more...
      • address Address. type: str more...
      • id Id. type: int more...
      • type Type. type: str choices: [ip, address] more...
      • translate_host (Alias name: translate-host) Enable/disable translation of hostname/ip from virtual server to real server. type: str choices: [disable, enable] more...
      • health_check_proto (Alias name: health-check-proto) Health check proto. type: str choices: [ping, http] more...
    • server_type (Alias name: server-type) Server type. type: str choices: [http, https, ssl, tcp, udp, ip, imaps, pop3s, smtps, ssh] more...
    • service Service. type: list or str more...
    • src_filter (Alias name: src-filter) Src filter. type: list more...
    • srcintf_filter (Alias name: srcintf-filter) Srcintf filter. type: list more...
    • ssl_algorithm (Alias name: ssl-algorithm) Ssl algorithm. type: str choices: [high, medium, low, custom] more...
    • ssl_certificate (Alias name: ssl-certificate) Ssl certificate. type: str more...
    • ssl_cipher_suites (Alias name: ssl-cipher-suites) Ssl cipher suites. type: list more...
      • cipher Cipher. type: str choices: [TLS-RSA-WITH-RC4-128-MD5, TLS-RSA-WITH-RC4-128-SHA, TLS-RSA-WITH-DES-CBC-SHA, TLS-RSA-WITH-3DES-EDE-CBC-SHA, TLS-RSA-WITH-AES-128-CBC-SHA, TLS-RSA-WITH-AES-256-CBC-SHA, TLS-RSA-WITH-AES-128-CBC-SHA256, TLS-RSA-WITH-AES-256-CBC-SHA256, TLS-RSA-WITH-CAMELLIA-128-CBC-SHA, TLS-RSA-WITH-CAMELLIA-256-CBC-SHA, TLS-RSA-WITH-CAMELLIA-128-CBC-SHA256, TLS-RSA-WITH-CAMELLIA-256-CBC-SHA256, TLS-RSA-WITH-SEED-CBC-SHA, TLS-RSA-WITH-ARIA-128-CBC-SHA256, TLS-RSA-WITH-ARIA-256-CBC-SHA384, TLS-DHE-RSA-WITH-DES-CBC-SHA, TLS-DHE-RSA-WITH-3DES-EDE-CBC-SHA, TLS-DHE-RSA-WITH-AES-128-CBC-SHA, TLS-DHE-RSA-WITH-AES-256-CBC-SHA, TLS-DHE-RSA-WITH-AES-128-CBC-SHA256, TLS-DHE-RSA-WITH-AES-256-CBC-SHA256, TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA, TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA, TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA256, TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA256, TLS-DHE-RSA-WITH-SEED-CBC-SHA, TLS-DHE-RSA-WITH-ARIA-128-CBC-SHA256, TLS-DHE-RSA-WITH-ARIA-256-CBC-SHA384, TLS-ECDHE-RSA-WITH-RC4-128-SHA, TLS-ECDHE-RSA-WITH-3DES-EDE-CBC-SHA, TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA, TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA, TLS-ECDHE-RSA-WITH-CHACHA20-POLY1305-SHA256, TLS-ECDHE-ECDSA-WITH-CHACHA20-POLY1305-SHA256, TLS-DHE-RSA-WITH-CHACHA20-POLY1305-SHA256, TLS-DHE-RSA-WITH-AES-128-GCM-SHA256, TLS-DHE-RSA-WITH-AES-256-GCM-SHA384, TLS-DHE-DSS-WITH-AES-128-CBC-SHA, TLS-DHE-DSS-WITH-AES-256-CBC-SHA, TLS-DHE-DSS-WITH-AES-128-CBC-SHA256, TLS-DHE-DSS-WITH-AES-128-GCM-SHA256, TLS-DHE-DSS-WITH-AES-256-CBC-SHA256, TLS-DHE-DSS-WITH-AES-256-GCM-SHA384, TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA256, TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256, TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA384, TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384, TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA, TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA256, TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256, TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA384, TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384, TLS-RSA-WITH-AES-128-GCM-SHA256, TLS-RSA-WITH-AES-256-GCM-SHA384, TLS-DHE-DSS-WITH-CAMELLIA-128-CBC-SHA, TLS-DHE-DSS-WITH-CAMELLIA-256-CBC-SHA, TLS-DHE-DSS-WITH-CAMELLIA-128-CBC-SHA256, TLS-DHE-DSS-WITH-CAMELLIA-256-CBC-SHA256, TLS-DHE-DSS-WITH-SEED-CBC-SHA, TLS-DHE-DSS-WITH-ARIA-128-CBC-SHA256, TLS-DHE-DSS-WITH-ARIA-256-CBC-SHA384, TLS-ECDHE-RSA-WITH-ARIA-128-CBC-SHA256, TLS-ECDHE-RSA-WITH-ARIA-256-CBC-SHA384, TLS-ECDHE-ECDSA-WITH-ARIA-128-CBC-SHA256, TLS-ECDHE-ECDSA-WITH-ARIA-256-CBC-SHA384, TLS-DHE-DSS-WITH-3DES-EDE-CBC-SHA, TLS-DHE-DSS-WITH-DES-CBC-SHA, TLS-AES-128-GCM-SHA256, TLS-AES-256-GCM-SHA384, TLS-CHACHA20-POLY1305-SHA256, TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA] more...
      • id Id. type: int more...
      • versions Versions. type: list choices: [ssl-3.0, tls-1.0, tls-1.1, tls-1.2, tls-1.3] more...
      • priority Priority. type: int more...
    • ssl_client_fallback (Alias name: ssl-client-fallback) Ssl client fallback. type: str choices: [disable, enable] more...
    • ssl_client_renegotiation (Alias name: ssl-client-renegotiation) Ssl client renegotiation. type: str choices: [deny, allow, secure] more...
    • ssl_client_session_state_max (Alias name: ssl-client-session-state-max) Ssl client session state max. type: int more...
    • ssl_client_session_state_timeout (Alias name: ssl-client-session-state-timeout) Ssl client session state timeout. type: int more...
    • ssl_client_session_state_type (Alias name: ssl-client-session-state-type) Ssl client session state type. type: str choices: [disable, time, count, both] more...
    • ssl_dh_bits (Alias name: ssl-dh-bits) Ssl dh bits. type: str choices: [768, 1024, 1536, 2048, 3072, 4096] more...
    • ssl_hpkp (Alias name: ssl-hpkp) Ssl hpkp. type: str choices: [disable, enable, report-only] more...
    • ssl_hpkp_age (Alias name: ssl-hpkp-age) Ssl hpkp age. type: int more...
    • ssl_hpkp_backup (Alias name: ssl-hpkp-backup) Ssl hpkp backup. type: str more...
    • ssl_hpkp_include_subdomains (Alias name: ssl-hpkp-include-subdomains) Ssl hpkp include subdomains. type: str choices: [disable, enable] more...
    • ssl_hpkp_primary (Alias name: ssl-hpkp-primary) Ssl hpkp primary. type: str more...
    • ssl_hpkp_report_uri (Alias name: ssl-hpkp-report-uri) Ssl hpkp report uri. type: str more...
    • ssl_hsts (Alias name: ssl-hsts) Ssl hsts. type: str choices: [disable, enable] more...
    • ssl_hsts_age (Alias name: ssl-hsts-age) Ssl hsts age. type: int more...
    • ssl_hsts_include_subdomains (Alias name: ssl-hsts-include-subdomains) Ssl hsts include subdomains. type: str choices: [disable, enable] more...
    • ssl_http_location_conversion (Alias name: ssl-http-location-conversion) Ssl http location conversion. type: str choices: [disable, enable] more...
    • ssl_http_match_host (Alias name: ssl-http-match-host) Ssl http match host. type: str choices: [disable, enable] more...
    • ssl_max_version (Alias name: ssl-max-version) Ssl max version. type: str choices: [ssl-3.0, tls-1.0, tls-1.1, tls-1.2, tls-1.3] more...
    • ssl_min_version (Alias name: ssl-min-version) Ssl min version. type: str choices: [ssl-3.0, tls-1.0, tls-1.1, tls-1.2, tls-1.3] more...
    • ssl_mode (Alias name: ssl-mode) Ssl mode. type: str choices: [half, full] more...
    • ssl_pfs (Alias name: ssl-pfs) Ssl pfs. type: str choices: [require, deny, allow] more...
    • ssl_send_empty_frags (Alias name: ssl-send-empty-frags) Ssl send empty frags. type: str choices: [disable, enable] more...
    • ssl_server_algorithm (Alias name: ssl-server-algorithm) Ssl server algorithm. type: str choices: [high, low, medium, custom, client] more...
    • ssl_server_max_version (Alias name: ssl-server-max-version) Ssl server max version. type: str choices: [ssl-3.0, tls-1.0, tls-1.1, tls-1.2, client, tls-1.3] more...
    • ssl_server_min_version (Alias name: ssl-server-min-version) Ssl server min version. type: str choices: [ssl-3.0, tls-1.0, tls-1.1, tls-1.2, client, tls-1.3] more...
    • ssl_server_session_state_max (Alias name: ssl-server-session-state-max) Ssl server session state max. type: int more...
    • ssl_server_session_state_timeout (Alias name: ssl-server-session-state-timeout) Ssl server session state timeout. type: int more...
    • ssl_server_session_state_type (Alias name: ssl-server-session-state-type) Ssl server session state type. type: str choices: [disable, time, count, both] more...
    • type Type. type: str choices: [static-nat, load-balance, server-load-balance, dns-translation, fqdn, access-proxy] more...
    • uuid Uuid. type: str more...
    • weblogic_server (Alias name: weblogic-server) Weblogic server. type: str choices: [disable, enable] more...
    • websphere_server (Alias name: websphere-server) Websphere server. type: str choices: [disable, enable] more...
    • http_redirect (Alias name: http-redirect) Http redirect. type: str choices: [disable, enable] more...
    • ssl_client_rekey_count (Alias name: ssl-client-rekey-count) Ssl client rekey count. type: int more...
    • status Enable/disable vip. type: str choices: [disable, enable] more...
    • add_nat46_route (Alias name: add-nat46-route) Enable/disable adding nat46 route. type: str choices: [disable, enable] more...
    • ipv6_mappedip (Alias name: ipv6-mappedip) Range of mapped ipv6 addresses. type: str more...
    • ipv6_mappedport (Alias name: ipv6-mappedport) Ipv6 port number range on the destination network to which the external port number range is mapped. type: str more...
    • nat44 Enable/disable nat44. type: str choices: [disable, enable] more...
    • nat46 Enable/disable nat46. type: str choices: [disable, enable] more...
    • ssl_accept_ffdhe_groups (Alias name: ssl-accept-ffdhe-groups) Enable/disable ffdhe cipher suite for ssl key exchange. type: str choices: [disable, enable] more...
    • http_multiplex_max_request (Alias name: http-multiplex-max-request) Maximum number of requests that a multiplex server can handle before disconnecting sessions (default = unlimited). type: int more...
    • http_multiplex_ttl (Alias name: http-multiplex-ttl) Time-to-live for idle connections to servers. type: int more...
    • http_supported_max_version (Alias name: http-supported-max-version) Maximum supported http versions. type: str choices: [http1, http2] more...
    • ssl_server_renegotiation (Alias name: ssl-server-renegotiation) Enable/disable secure renegotiation to comply with rfc 5746. type: str choices: [disable, enable] more...
    • h2_support (Alias name: h2-support) Enable/disable http2 support (default = enable). type: str choices: [disable, enable] more...
    • h3_support (Alias name: h3-support) Enable/disable http3/quic support (default = disable). type: str choices: [disable, enable] more...
    • http_multiplex_max_concurrent_request (Alias name: http-multiplex-max-concurrent-request) Maximum number of concurrent requests that a multiplex server can handle (default = unlimited). type: int more...
    • gslb_domain_name (Alias name: gslb-domain-name) Domain to use when integrating with fortigslb. type: str more...
    • gslb_hostname (Alias name: gslb-hostname) Hostname to use within the configured fortigslb domain. type: str more...
    • one_click_gslb_server (Alias name: one-click-gslb-server) Enable/disable one click gslb server integration with fortigslb. type: str choices: [disable, enable] more...
    • src_vip_filter (Alias name: src-vip-filter) Enable/disable use of src-filter to match destinations for the reverse snat rule. type: str choices: [disable, enable] 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

- 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 dynamic mappings of virtual IP for IPv4
      fortinet.fortimanager.fmgr_firewall_vip_dynamicmapping:
        bypass_validation: false
        adom: ansible
        vip: "ansible-test-vip" # name
        state: present
        firewall_vip_dynamicmapping:
          _scope: # Required
            - name: FGT_AWS # need a valid device name
              vdom: root # need a valid vdom name under the device
          arp-reply: enable
          color: 2
          comment: "ansible-comment"
          id: 1

- 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 dynamic mappings of virtual IP for IPv4
      fortinet.fortimanager.fmgr_fact:
        facts:
          selector: "firewall_vip_dynamicmapping"
          params:
            adom: "ansible"
            vip: "ansible-test-vip" # name
            dynamic_mapping: "your_value"

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:

  • meta - The result of the request.returned: always type: dict
    • 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_data - The data body of the api response. returned: optional type: list or dict
    • response_message - The descriptive message of the api response. returned: always type: str sample: OK
    • system_information - The information of the target system. returned: always type: dict
  • rc - The status the request. returned: always type: int sample: 0
  • version_check_warning - Warning if the parameters used in the playbook are not supported by the current FortiManager version. returned: if at least one parameter not supported by the current FortiManager version type: list

Status

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

Authors

  • Xinwei Du (@dux-fortinet)

  • Xing Li (@lix-fortinet)

  • Jie Xue (@JieX19)

  • Link Zheng (@chillancezen)

  • Frank Shen (@fshen01)

  • Hongbin Lu (@fgtdev-hblu)