fmgr_firewall_accessproxy6_apigateway6 – Set IPv6 API Gateway.

Added in version 2.2.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: v7.2.1 -> 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
  • access-proxy6 - The parameter in requested url type: str required: true
  • firewall_accessproxy6_apigateway6 - Set IPv6 API Gateway. type: dict
    • application type: list more...
    • http_cookie_age (Alias name: http-cookie-age) Time in minutes that client web browsers should keep a cookie. type: int more...
    • http_cookie_domain (Alias name: http-cookie-domain) Domain that http cookie persistence should apply to. type: str more...
    • http_cookie_domain_from_host (Alias name: http-cookie-domain-from-host) Enable/disable use of http cookie domain from host field in http. type: str choices: [disable, enable] more...
    • http_cookie_generation (Alias name: http-cookie-generation) Generation of http cookie to be accepted. type: int more...
    • http_cookie_path (Alias name: http-cookie-path) Limit http cookie persistence to the specified path. type: str more...
    • http_cookie_share (Alias name: http-cookie-share) Control sharing of cookies across api gateway. type: str choices: [disable, same-ip] more...
    • https_cookie_secure (Alias name: https-cookie-secure) Enable/disable verification that inserted https cookies are secure. type: str choices: [disable, enable] more...
    • id Api gateway id. type: int more...
    • ldb_method (Alias name: ldb-method) Method used to distribute sessions to real servers. type: str choices: [static, round-robin, weighted, first-alive, http-host] more...
    • persistence Configure how to make sure that clients connect to the same server every time they make a request that is part of the same session. type: str choices: [none, http-cookie] more...
    • realservers type: list more...
      • addr_type (Alias name: addr-type) Type of address. type: str choices: [fqdn, ip] more...
      • address Address or address group of the real server. type: str more...
      • domain Wildcard domain name of the real server. type: str more...
      • health_check (Alias name: health-check) Enable to check the responsiveness of the real server before forwarding traffic. type: str choices: [disable, enable] more...
      • health_check_proto (Alias name: health-check-proto) Protocol of the health check monitor to use when polling to determine servers connectivity status. type: str choices: [ping, http, tcp-connect] more...
      • holddown_interval (Alias name: holddown-interval) Enable/disable holddown timer. type: str choices: [disable, enable] 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 Ipv6 address of the real server. type: str more...
      • mappedport Port for communicating with the real server. type: list or str more...
      • port Port for communicating with the real server. type: int more...
      • ssh_client_cert (Alias name: ssh-client-cert) Set access-proxy ssh client certificate profile. type: str more...
      • ssh_host_key (Alias name: ssh-host-key) type: list more...
      • ssh_host_key_validation (Alias name: ssh-host-key-validation) Enable/disable ssh real server host key validation. type: str choices: [disable, enable] 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...
      • type Tcp forwarding server type. type: str choices: [tcp-forwarding, ssh] 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...
      • external_auth (Alias name: external-auth) Enable/disable use of external browser as user-agent for saml user authentication. type: str choices: [disable, enable] more...
      • tunnel_encryption (Alias name: tunnel-encryption) Tunnel encryption. type: str choices: [disable, enable] more...
    • saml_redirect (Alias name: saml-redirect) Enable/disable saml redirection after successful authentication. type: str choices: [disable, enable] more...
    • saml_server (Alias name: saml-server) Saml service provider configuration for vip authentication. type: str more...
    • service Service. type: str choices: [http, https, tcp-forwarding, samlsp, web-portal, saas] more...
    • ssl_algorithm (Alias name: ssl-algorithm) Permitted encryption algorithms for the server side of ssl full mode sessions according to encryption strength. type: str choices: [high, medium, low] 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: [tls-1.0, tls-1.1, tls-1.2, tls-1.3] more...
    • ssl_dh_bits (Alias name: ssl-dh-bits) Number of bits to use in the diffie-hellman exchange for rsa encryption of ssl sessions. type: str choices: [768, 1024, 1536, 2048, 3072, 4096] more...
    • ssl_max_version (Alias name: ssl-max-version) Highest ssl/tls version acceptable from a server. type: str choices: [tls-1.0, tls-1.1, tls-1.2, tls-1.3] more...
    • ssl_min_version (Alias name: ssl-min-version) Lowest ssl/tls version acceptable from a server. type: str choices: [tls-1.0, tls-1.1, tls-1.2, tls-1.3] more...
    • ssl_vpn_web_portal (Alias name: ssl-vpn-web-portal) Ssl-vpn web portal. type: str more...
    • url_map (Alias name: url-map) Url pattern to match. type: str more...
    • url_map_type (Alias name: url-map-type) Type of url-map. type: str choices: [sub-string, wildcard, regex] more...
    • virtual_host (Alias name: virtual-host) Virtual host. type: str more...
    • ssl_renegotiation (Alias name: ssl-renegotiation) Enable/disable secure renegotiation to comply with rfc 5746. type: str choices: [disable, enable] more...
    • h2_support (Alias name: h2-support) Http2 support, default=enable. type: str choices: [disable, enable] more...
    • h3_support (Alias name: h3-support) Http3/quic support, default=disable. type: str choices: [disable, enable] more...
    • quic type: dict
      • ack_delay_exponent (Alias name: ack-delay-exponent) Ack delay exponent (1 - 20, default = 3). type: int more...
      • active_connection_id_limit (Alias name: active-connection-id-limit) Active connection id limit (1 - 8, default = 2). type: int more...
      • active_migration (Alias name: active-migration) Enable/disable active migration (default = disable). type: str choices: [disable, enable] more...
      • grease_quic_bit (Alias name: grease-quic-bit) Enable/disable grease quic bit (default = enable). type: str choices: [disable, enable] more...
      • max_ack_delay (Alias name: max-ack-delay) Maximum ack delay in milliseconds (1 - 16383, default = 25). type: int more...
      • max_datagram_frame_size (Alias name: max-datagram-frame-size) Maximum datagram frame size in bytes (1 - 1500, default = 1500). type: int more...
      • max_idle_timeout (Alias name: max-idle-timeout) Maximum idle timeout milliseconds (1 - 60000, default = 30000). type: int more...
      • max_udp_payload_size (Alias name: max-udp-payload-size) Maximum udp payload size in bytes (1200 - 1500, default = 1500). type: int 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 (generated based on argument schema)
  hosts: fortimanagers
  connection: httpapi
  vars:
    ansible_httpapi_use_ssl: true
    ansible_httpapi_validate_certs: false
    ansible_httpapi_port: 443
  tasks:
    - name: Set IPv6 API Gateway.
      fortinet.fortimanager.fmgr_firewall_accessproxy6_apigateway6:
        # 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>
        access_proxy6: <your own value>
        state: present # <value in [present, absent]>
        firewall_accessproxy6_apigateway6:
          application: <list or string>
          http_cookie_age: <integer>
          http_cookie_domain: <string>
          http_cookie_domain_from_host: <value in [disable, enable]>
          http_cookie_generation: <integer>
          http_cookie_path: <string>
          http_cookie_share: <value in [disable, same-ip]>
          https_cookie_secure: <value in [disable, enable]>
          id: <integer>
          ldb_method: <value in [static, round-robin, weighted, ...]>
          persistence: <value in [none, http-cookie]>
          realservers:
            -
              addr_type: <value in [fqdn, ip]>
              address: <string>
              domain: <string>
              health_check: <value in [disable, enable]>
              health_check_proto: <value in [ping, http, tcp-connect]>
              holddown_interval: <value in [disable, enable]>
              http_host: <string>
              id: <integer>
              ip: <string>
              mappedport: <list or string>
              port: <integer>
              ssh_client_cert: <string>
              ssh_host_key: <list or string>
              ssh_host_key_validation: <value in [disable, enable]>
              status: <value in [active, standby, disable]>
              type: <value in [tcp-forwarding, ssh]>
              weight: <integer>
              translate_host: <value in [disable, enable]>
              external_auth: <value in [disable, enable]>
              tunnel_encryption: <value in [disable, enable]>
          saml_redirect: <value in [disable, enable]>
          saml_server: <string>
          service: <value in [http, https, tcp-forwarding, ...]>
          ssl_algorithm: <value in [high, medium, low]>
          ssl_cipher_suites:
            -
              cipher: <value in [TLS-RSA-WITH-RC4-128-MD5, TLS-RSA-WITH-RC4-128-SHA, TLS-RSA-WITH-DES-CBC-SHA, ...]>
              priority: <integer>
              versions:
                - tls-1.0
                - tls-1.1
                - tls-1.2
                - tls-1.3
          ssl_dh_bits: <value in [768, 1024, 1536, ...]>
          ssl_max_version: <value in [tls-1.0, tls-1.1, tls-1.2, ...]>
          ssl_min_version: <value in [tls-1.0, tls-1.1, tls-1.2, ...]>
          ssl_vpn_web_portal: <string>
          url_map: <string>
          url_map_type: <value in [sub-string, wildcard, regex]>
          virtual_host: <string>
          ssl_renegotiation: <value in [disable, enable]>
          h2_support: <value in [disable, enable]>
          h3_support: <value in [disable, enable]>
          quic:
            ack_delay_exponent: <integer>
            active_connection_id_limit: <integer>
            active_migration: <value in [disable, enable]>
            grease_quic_bit: <value in [disable, enable]>
            max_ack_delay: <integer>
            max_datagram_frame_size: <integer>
            max_idle_timeout: <integer>
            max_udp_payload_size: <integer>

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)