fmgr_firewall_vip6_dynamicmapping – Configure virtual IP for IPv6.

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 v6.x and 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
  • vip6 - The parameter in requested url type: str required: true
  • firewall_vip6_dynamicmapping - Configure virtual IP for IPv6. type: dict
    • _scope type: list more...
      • name type: str more...
      • vdom type: str more...
    • arp_reply (Alias name: arp-reply) type: str choices: [disable, enable] more...
    • color type: int more...
    • comment type: str more...
    • extip type: str more...
    • extport type: str more...
    • http_cookie_age (Alias name: http-cookie-age) type: int more...
    • http_cookie_domain (Alias name: http-cookie-domain) type: str more...
    • http_cookie_domain_from_host (Alias name: http-cookie-domain-from-host) type: str choices: [disable, enable] more...
    • http_cookie_generation (Alias name: http-cookie-generation) type: int more...
    • http_cookie_path (Alias name: http-cookie-path) type: str more...
    • http_cookie_share (Alias name: http-cookie-share) type: str choices: [disable, same-ip] more...
    • http_ip_header (Alias name: http-ip-header) type: str choices: [disable, enable] more...
    • http_ip_header_name (Alias name: http-ip-header-name) type: str more...
    • http_multiplex (Alias name: http-multiplex) type: str choices: [disable, enable] more...
    • https_cookie_secure (Alias name: https-cookie-secure) type: str choices: [disable, enable] more...
    • id type: int more...
    • ldb_method (Alias name: ldb-method) type: str choices: [static, round-robin, weighted, least-session, least-rtt, first-alive, http-host] more...
    • mappedip type: str more...
    • mappedport type: str more...
    • max_embryonic_connections (Alias name: max-embryonic-connections) type: int more...
    • monitor type: list or str more...
    • outlook_web_access (Alias name: outlook-web-access) type: str choices: [disable, enable] more...
    • persistence type: str choices: [none, http-cookie, ssl-session-id] more...
    • portforward type: str choices: [disable, enable] more...
    • protocol type: str choices: [tcp, udp, sctp] more...
    • server_type (Alias name: server-type) type: str choices: [http, https, ssl, tcp, udp, ip, imaps, pop3s, smtps] more...
    • src_filter (Alias name: src-filter) type: list more...
    • ssl_algorithm (Alias name: ssl-algorithm) type: str choices: [high, low, medium, custom] more...
    • ssl_certificate (Alias name: ssl-certificate) type: str more...
    • ssl_client_fallback (Alias name: ssl-client-fallback) type: str choices: [disable, enable] more...
    • ssl_client_renegotiation (Alias name: ssl-client-renegotiation) type: str choices: [deny, allow, secure] more...
    • ssl_client_session_state_max (Alias name: ssl-client-session-state-max) type: int more...
    • ssl_client_session_state_timeout (Alias name: ssl-client-session-state-timeout) type: int more...
    • ssl_client_session_state_type (Alias name: ssl-client-session-state-type) type: str choices: [disable, time, count, both] more...
    • ssl_dh_bits (Alias name: ssl-dh-bits) type: str choices: [768, 1024, 1536, 2048, 3072, 4096] more...
    • ssl_hpkp (Alias name: ssl-hpkp) type: str choices: [disable, enable, report-only] more...
    • ssl_hpkp_age (Alias name: ssl-hpkp-age) type: int more...
    • ssl_hpkp_backup (Alias name: ssl-hpkp-backup) type: str more...
    • ssl_hpkp_include_subdomains (Alias name: ssl-hpkp-include-subdomains) type: str choices: [disable, enable] more...
    • ssl_hpkp_primary (Alias name: ssl-hpkp-primary) type: str more...
    • ssl_hpkp_report_uri (Alias name: ssl-hpkp-report-uri) type: str more...
    • ssl_hsts (Alias name: ssl-hsts) type: str choices: [disable, enable] more...
    • ssl_hsts_age (Alias name: ssl-hsts-age) type: int more...
    • ssl_hsts_include_subdomains (Alias name: ssl-hsts-include-subdomains) type: str choices: [disable, enable] more...
    • ssl_http_location_conversion (Alias name: ssl-http-location-conversion) type: str choices: [disable, enable] more...
    • ssl_http_match_host (Alias name: ssl-http-match-host) type: str choices: [disable, enable] more...
    • ssl_max_version (Alias name: 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) 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) type: str choices: [half, full] more...
    • ssl_pfs (Alias name: ssl-pfs) type: str choices: [require, deny, allow] more...
    • ssl_send_empty_frags (Alias name: ssl-send-empty-frags) type: str choices: [disable, enable] more...
    • ssl_server_algorithm (Alias name: ssl-server-algorithm) type: str choices: [high, low, medium, custom, client] more...
    • ssl_server_max_version (Alias name: 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) 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) type: int more...
    • ssl_server_session_state_timeout (Alias name: ssl-server-session-state-timeout) type: int more...
    • ssl_server_session_state_type (Alias name: ssl-server-session-state-type) type: str choices: [disable, time, count, both] more...
    • type type: str choices: [static-nat, server-load-balance, access-proxy] more...
    • uuid type: str more...
    • weblogic_server (Alias name: weblogic-server) type: str choices: [disable, enable] more...
    • websphere_server (Alias name: websphere-server) type: str choices: [disable, enable] more...
    • http_redirect (Alias name: http-redirect) type: str choices: [disable, enable] more...
    • ssl_client_rekey_count (Alias name: ssl-client-rekey-count) type: int more...
    • nat_source_vip (Alias name: nat-source-vip) type: str choices: [disable, enable] more...
    • add_nat64_route (Alias name: add-nat64-route) Enable/disable adding nat64 route. type: str choices: [disable, enable] more...
    • embedded_ipv4_address (Alias name: embedded-ipv4-address) Enable/disable use of the lower 32 bits of the external ipv6 address as mapped ipv4 address. type: str choices: [disable, enable] more...
    • ipv4_mappedip (Alias name: ipv4-mappedip) Range of mapped ip addresses. type: str more...
    • ipv4_mappedport (Alias name: ipv4-mappedport) Ipv4 port number range on the destination network to which the external port number range is mapped. type: str more...
    • nat64 Enable/disable dnat64. type: str choices: [disable, enable] more...
    • nat66 Enable/disable dnat66. type: str choices: [disable, enable] more...
    • realservers type: list more...
      • client_ip (Alias name: client-ip) Only clients in this ip range can connect to this real server. type: str more...
      • healthcheck Enable to check the responsiveness of the real server before forwarding traffic. type: str choices: [disable, enable, vip] more...
      • holddown_interval (Alias name: holddown-interval) Time in seconds that the health check monitor continues to monitor an unresponsive server that should be active. type: int more...
      • http_host (Alias name: http-host) Http server domain name in http header. type: str more...
      • id Real server id. type: int more...
      • ip Ip address of the real server. type: str more...
      • max_connections (Alias name: max-connections) Max number of active connections that can directed to the real server. type: int more...
      • monitor type: list or str more...
      • port Port for communicating with the real server. type: int more...
      • status Set the status of the real server to active so that it can accept traffic, or on standby or disabled so no traffic is sent. type: str choices: [active, standby, disable] more...
      • weight Weight of the real server. type: int 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...
    • 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...
    • ssl_cipher_suites (Alias name: ssl-cipher-suites) type: list more...
      • cipher Cipher suite name. 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...
      • priority Ssl/tls cipher suites priority. type: int more...
      • versions type: list choices: [ssl-3.0, tls-1.0, tls-1.1, tls-1.2, tls-1.3] more...
    • ndp_reply (Alias name: ndp-reply) Enable/disable this fortigate units ability to respond to ndp requests for this virtual ip address (default = enable). type: str choices: [disable, enable] 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...

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 IPv6
      fortinet.fortimanager.fmgr_firewall_vip6_dynamicmapping:
        bypass_validation: false
        adom: ansible
        vip6: "ansible-test-vip6" # name
        state: present
        firewall_vip6_dynamicmapping:
          _scope:
            - name: FGT_AWS # need a valid device name
              vdom: root # need a valid vdom name under the device
          arp-reply: disable
          color: 1
          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 IPv6
      fortinet.fortimanager.fmgr_fact:
        facts:
          selector: "firewall_vip6_dynamicmapping"
          params:
            adom: "ansible"
            vip6: "ansible-test-vip6" # 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)