fortinet.fortios.fortios_firewall_vip6 (2.3.6) — module

Configure virtual IP for IPv6 in Fortinet's FortiOS and FortiGate.

| "added in version" 2.0.0 of fortinet.fortios"

Authors: Link Zheng (@chillancezen), Jie Xue (@JieX19), Hongbin Lu (@fgtdev-hblu), Frank Shen (@frankshen01), Miguel Angel Munoz (@mamunozgonzalez), Nicolas Thomas (@thomnico)

preview | supported by community

Install collection

Install with ansible-galaxy collection install fortinet.fortios:==2.3.6


Add to requirements.yml

  collections:
    - name: fortinet.fortios
      version: 2.3.6

Description

This module is able to configure a FortiGate or FortiOS (FOS) device by allowing the user to set and modify firewall feature and vip6 category. Examples include all parameters and values need to be adjusted to datasources before usage. Tested with FOS v6.0.0


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Configure virtual IP for IPv6.
  fortinet.fortios.fortios_firewall_vip6:
      vdom: "{{ vdom }}"
      state: "present"
      access_token: "<your_own_value>"
      firewall_vip6:
          add_nat64_route: "disable"
          arp_reply: "disable"
          color: "0"
          comment: "Comment."
          embedded_ipv4_address: "disable"
          extip: "<your_own_value>"
          extport: "<your_own_value>"
          h2_support: "enable"
          h3_support: "enable"
          http_cookie_age: "60"
          http_cookie_domain: "<your_own_value>"
          http_cookie_domain_from_host: "disable"
          http_cookie_generation: "0"
          http_cookie_path: "<your_own_value>"
          http_cookie_share: "disable"
          http_ip_header: "enable"
          http_ip_header_name: "<your_own_value>"
          http_multiplex: "enable"
          http_redirect: "enable"
          https_cookie_secure: "disable"
          id: "23"
          ipv4_mappedip: "<your_own_value>"
          ipv4_mappedport: "<your_own_value>"
          ldb_method: "static"
          mappedip: "<your_own_value>"
          mappedport: "<your_own_value>"
          max_embryonic_connections: "1000"
          monitor:
              -
                  name: "default_name_31 (source firewall.ldb-monitor.name)"
          name: "default_name_32"
          nat_source_vip: "disable"
          nat64: "disable"
          nat66: "disable"
          ndp_reply: "disable"
          outlook_web_access: "disable"
          persistence: "none"
          portforward: "disable"
          protocol: "tcp"
          quic:
              ack_delay_exponent: "3"
              active_connection_id_limit: "2"
              active_migration: "enable"
              grease_quic_bit: "enable"
              max_ack_delay: "25"
              max_datagram_frame_size: "1500"
              max_idle_timeout: "30000"
              max_udp_payload_size: "1500"
          realservers:
              -
                  client_ip: "<your_own_value>"
                  healthcheck: "disable"
                  holddown_interval: "300"
                  http_host: "myhostname"
                  id: "55"
                  ip: "<your_own_value>"
                  max_connections: "0"
                  monitor:
                      -
                          name: "default_name_59 (source firewall.ldb-monitor.name)"
                  port: "0"
                  status: "active"
                  translate_host: "enable"
                  weight: "1"
          server_type: "http"
          src_filter:
              -
                  range: "<your_own_value>"
          ssl_accept_ffdhe_groups: "enable"
          ssl_algorithm: "high"
          ssl_certificate: "<your_own_value> (source vpn.certificate.local.name)"
          ssl_certificate_dict:
              -
                  name: "default_name_71 (source vpn.certificate.local.name)"
          ssl_cipher_suites:
              -
                  cipher: "TLS-AES-128-GCM-SHA256"
                  priority: "<you_own_value>"
                  versions: "ssl-3.0"
          ssl_client_fallback: "disable"
          ssl_client_rekey_count: "0"
          ssl_client_renegotiation: "allow"
          ssl_client_session_state_max: "1000"
          ssl_client_session_state_timeout: "30"
          ssl_client_session_state_type: "disable"
          ssl_dh_bits: "768"
          ssl_hpkp: "disable"
          ssl_hpkp_age: "5184000"
          ssl_hpkp_backup: "<your_own_value> (source vpn.certificate.local.name vpn.certificate.ca.name)"
          ssl_hpkp_include_subdomains: "disable"
          ssl_hpkp_primary: "<your_own_value> (source vpn.certificate.local.name vpn.certificate.ca.name)"
          ssl_hpkp_report_uri: "<your_own_value>"
          ssl_hsts: "disable"
          ssl_hsts_age: "5184000"
          ssl_hsts_include_subdomains: "disable"
          ssl_http_location_conversion: "enable"
          ssl_http_match_host: "enable"
          ssl_max_version: "ssl-3.0"
          ssl_min_version: "ssl-3.0"
          ssl_mode: "half"
          ssl_pfs: "require"
          ssl_send_empty_frags: "enable"
          ssl_server_algorithm: "high"
          ssl_server_cipher_suites:
              -
                  cipher: "TLS-AES-128-GCM-SHA256"
                  priority: "<you_own_value>"
                  versions: "ssl-3.0"
          ssl_server_max_version: "ssl-3.0"
          ssl_server_min_version: "ssl-3.0"
          ssl_server_renegotiation: "enable"
          ssl_server_session_state_max: "100"
          ssl_server_session_state_timeout: "60"
          ssl_server_session_state_type: "disable"
          type: "static-nat"
          uuid: "<your_own_value>"
          weblogic_server: "disable"
          websphere_server: "disable"

Inputs

    
vdom:
    default: root
    description:
    - Virtual domain, among those defined previously. A vdom is a virtual instance of
      the FortiGate that can be configured and used as a different unit.
    type: str

state:
    choices:
    - present
    - absent
    description:
    - Indicates whether to create or remove the object.
    required: true
    type: str

enable_log:
    default: false
    description:
    - Enable/Disable logging for task.
    required: false
    type: bool

member_path:
    description:
    - Member attribute path to operate on.
    - Delimited by a slash character if there are more than one attribute.
    - Parameter marked with member_path is legitimate for doing member operation.
    type: str

access_token:
    description:
    - Token-based authentication. Generated from GUI of Fortigate.
    required: false
    type: str

member_state:
    choices:
    - present
    - absent
    description:
    - Add or delete a member under specified attribute path.
    - When member_state is specified, the state option is ignored.
    type: str

firewall_vip6:
    default: null
    description:
    - Configure virtual IP for IPv6.
    suboptions:
      add_nat64_route:
        choices:
        - disable
        - enable
        description:
        - Enable/disable adding NAT64 route.
        type: str
      arp_reply:
        choices:
        - disable
        - enable
        description:
        - Enable to respond to ARP requests for this virtual IP address. Enabled by default.
        type: str
      color:
        description:
        - Color of icon on the GUI.
        type: int
      comment:
        description:
        - Comment.
        type: str
      embedded_ipv4_address:
        choices:
        - disable
        - enable
        description:
        - Enable/disable use of the lower 32 bits of the external IPv6 address as mapped
          IPv4 address.
        type: str
      extip:
        description:
        - IPv6 address or address range on the external interface that you want to map
          to an address or address range on the destination network.
        type: str
      extport:
        description:
        - Incoming port number range that you want to map to a port number range on the
          destination network.
        type: str
      h2_support:
        choices:
        - enable
        - disable
        description:
        - Enable/disable HTTP2 support .
        type: str
      h3_support:
        choices:
        - enable
        - disable
        description:
        - Enable/disable HTTP3/QUIC support .
        type: str
      http_cookie_age:
        description:
        - Time in minutes that client web browsers should keep a cookie. Default is 60
          minutes. 0 = no time limit.
        type: int
      http_cookie_domain:
        description:
        - Domain that HTTP cookie persistence should apply to.
        type: str
      http_cookie_domain_from_host:
        choices:
        - disable
        - enable
        description:
        - Enable/disable use of HTTP cookie domain from host field in HTTP.
        type: str
      http_cookie_generation:
        description:
        - Generation of HTTP cookie to be accepted. Changing invalidates all existing
          cookies.
        type: int
      http_cookie_path:
        description:
        - Limit HTTP cookie persistence to the specified path.
        type: str
      http_cookie_share:
        choices:
        - disable
        - same-ip
        description:
        - Control sharing of cookies across virtual servers. Use of same-ip means a cookie
          from one virtual server can be used by another. Disable stops cookie sharing.
        type: str
      http_ip_header:
        choices:
        - enable
        - disable
        description:
        - For HTTP multiplexing, enable to add the original client IP address in the XForwarded-For
          HTTP header.
        type: str
      http_ip_header_name:
        description:
        - For HTTP multiplexing, enter a custom HTTPS header name. The original client
          IP address is added to this header. If empty, X-Forwarded-For is used.
        type: str
      http_multiplex:
        choices:
        - enable
        - disable
        description:
        - Enable/disable HTTP multiplexing.
        type: str
      http_redirect:
        choices:
        - enable
        - disable
        description:
        - Enable/disable redirection of HTTP to HTTPS.
        type: str
      https_cookie_secure:
        choices:
        - disable
        - enable
        description:
        - Enable/disable verification that inserted HTTPS cookies are secure.
        type: str
      id:
        description:
        - Custom defined ID.
        type: int
      ipv4_mappedip:
        description:
        - Range of mapped IP addresses. Specify the start IP address followed by a space
          and the end IP address.
        type: str
      ipv4_mappedport:
        description:
        - IPv4 port number range on the destination network to which the external port
          number range is mapped.
        type: str
      ldb_method:
        choices:
        - static
        - round-robin
        - weighted
        - least-session
        - least-rtt
        - first-alive
        - http-host
        description:
        - Method used to distribute sessions to real servers.
        type: str
      mappedip:
        description:
        - Mapped IPv6 address range in the format startIP-endIP.
        type: str
      mappedport:
        description:
        - Port number range on the destination network to which the external port number
          range is mapped.
        type: str
      max_embryonic_connections:
        description:
        - Maximum number of incomplete connections.
        type: int
      monitor:
        description:
        - Name of the health check monitor to use when polling to determine a virtual
          server"s connectivity status.
        elements: dict
        suboptions:
          name:
            description:
            - Health monitor name. Source firewall.ldb-monitor.name.
            required: true
            type: str
        type: list
      name:
        description:
        - Virtual ip6 name.
        required: true
        type: str
      nat64:
        choices:
        - disable
        - enable
        description:
        - Enable/disable DNAT64.
        type: str
      nat66:
        choices:
        - disable
        - enable
        description:
        - Enable/disable DNAT66.
        type: str
      nat_source_vip:
        choices:
        - disable
        - enable
        description:
        - Enable to perform SNAT on traffic from mappedip to the extip for all egress
          interfaces.
        type: str
      ndp_reply:
        choices:
        - disable
        - enable
        description:
        - Enable/disable this FortiGate unit"s ability to respond to NDP requests for
          this virtual IP address .
        type: str
      outlook_web_access:
        choices:
        - disable
        - enable
        description:
        - Enable to add the Front-End-Https header for Microsoft Outlook Web Access.
        type: str
      persistence:
        choices:
        - none
        - http-cookie
        - ssl-session-id
        description:
        - 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
      portforward:
        choices:
        - disable
        - enable
        description:
        - Enable port forwarding.
        type: str
      protocol:
        choices:
        - tcp
        - udp
        - sctp
        description:
        - Protocol to use when forwarding packets.
        type: str
      quic:
        description:
        - QUIC setting.
        suboptions:
          ack_delay_exponent:
            description:
            - ACK delay exponent (1 - 20).
            type: int
          active_connection_id_limit:
            description:
            - Active connection ID limit (1 - 8).
            type: int
          active_migration:
            choices:
            - enable
            - disable
            description:
            - Enable/disable active migration .
            type: str
          grease_quic_bit:
            choices:
            - enable
            - disable
            description:
            - Enable/disable grease QUIC bit .
            type: str
          max_ack_delay:
            description:
            - Maximum ACK delay in milliseconds (1 - 16383).
            type: int
          max_datagram_frame_size:
            description:
            - Maximum datagram frame size in bytes (1 - 1500).
            type: int
          max_idle_timeout:
            description:
            - Maximum idle timeout milliseconds (1 - 60000).
            type: int
          max_udp_payload_size:
            description:
            - Maximum UDP payload size in bytes (1200 - 1500).
            type: int
        type: dict
      realservers:
        description:
        - Select the real servers that this server load balancing VIP will distribute
          traffic to.
        elements: dict
        suboptions:
          client_ip:
            description:
            - Only clients in this IP range can connect to this real server.
            type: str
          healthcheck:
            choices:
            - disable
            - enable
            - vip
            description:
            - Enable to check the responsiveness of the real server before forwarding
              traffic.
            type: str
          holddown_interval:
            description:
            - Time in seconds that the health check monitor continues to monitor an unresponsive
              server that should be active.
            type: int
          http_host:
            description:
            - HTTP server domain name in HTTP header.
            type: str
          id:
            description:
            - Real server ID. see <a href='#notes'>Notes</a>.
            required: true
            type: int
          ip:
            description:
            - IP address of the real server.
            type: str
          max_connections:
            description:
            - Max number of active connections that can directed to the real server. When
              reached, sessions are sent to other real servers.
            type: int
          monitor:
            description:
            - Name of the health check monitor to use when polling to determine a virtual
              server"s connectivity status. Source firewall .ldb-monitor.name.
            elements: dict
            suboptions:
              name:
                description:
                - Health monitor name. Source firewall.ldb-monitor.name.
                required: true
                type: str
            type: list
          port:
            description:
            - Port for communicating with the real server. Required if port forwarding
              is enabled.
            type: int
          status:
            choices:
            - active
            - standby
            - disable
            description:
            - 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
          translate_host:
            choices:
            - enable
            - disable
            description:
            - Enable/disable translation of hostname/IP from virtual server to real server.
            type: str
          weight:
            description:
            - Weight of the real server. If weighted load balancing is enabled, the server
              with the highest weight gets more connections.
            type: int
        type: list
      server_type:
        choices:
        - http
        - https
        - imaps
        - pop3s
        - smtps
        - ssl
        - tcp
        - udp
        - ip
        description:
        - Protocol to be load balanced by the virtual server (also called the server load
          balance virtual IP).
        type: str
      src_filter:
        description:
        - Source IP6 filter (x:x:x:x:x:x:x:x/x). Separate addresses with spaces.
        elements: dict
        suboptions:
          range:
            description:
            - Source-filter range.
            required: true
            type: str
        type: list
      ssl_accept_ffdhe_groups:
        choices:
        - enable
        - disable
        description:
        - Enable/disable FFDHE cipher suite for SSL key exchange.
        type: str
      ssl_algorithm:
        choices:
        - high
        - medium
        - low
        - custom
        description:
        - Permitted encryption algorithms for SSL sessions according to encryption strength.
        type: str
      ssl_certificate:
        description:
        - The name of the certificate to use for SSL handshake. Source vpn.certificate.local.name.
        type: str
      ssl_certificate_dict:
        description:
        - Name of the certificate to use for SSL handshake. Use the parameter ssl-certificate
          instead if the fortiOS firmwear <= 7.4.1
        elements: dict
        suboptions:
          name:
            description:
            - Certificate list. Source vpn.certificate.local.name.
            required: true
            type: str
        type: list
      ssl_cipher_suites:
        description:
        - SSL/TLS cipher suites acceptable from a client, ordered by priority.
        elements: dict
        suboptions:
          cipher:
            choices:
            - TLS-AES-128-GCM-SHA256
            - TLS-AES-256-GCM-SHA384
            - TLS-CHACHA20-POLY1305-SHA256
            - 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-CBC-SHA
            - TLS-DHE-RSA-WITH-AES-256-CBC-SHA
            - TLS-DHE-RSA-WITH-AES-128-CBC-SHA256
            - TLS-DHE-RSA-WITH-AES-128-GCM-SHA256
            - TLS-DHE-RSA-WITH-AES-256-CBC-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-SHA
            - TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA256
            - TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256
            - TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA
            - 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-SHA
            - TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA384
            - TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384
            - 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-128-GCM-SHA256
            - TLS-RSA-WITH-AES-256-CBC-SHA256
            - TLS-RSA-WITH-AES-256-GCM-SHA384
            - 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-DHE-RSA-WITH-3DES-EDE-CBC-SHA
            - TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA
            - TLS-DHE-DSS-WITH-CAMELLIA-128-CBC-SHA
            - TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA
            - TLS-DHE-DSS-WITH-CAMELLIA-256-CBC-SHA
            - TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA256
            - TLS-DHE-DSS-WITH-CAMELLIA-128-CBC-SHA256
            - TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA256
            - TLS-DHE-DSS-WITH-CAMELLIA-256-CBC-SHA256
            - TLS-DHE-RSA-WITH-SEED-CBC-SHA
            - TLS-DHE-DSS-WITH-SEED-CBC-SHA
            - TLS-DHE-RSA-WITH-ARIA-128-CBC-SHA256
            - TLS-DHE-RSA-WITH-ARIA-256-CBC-SHA384
            - TLS-DHE-DSS-WITH-ARIA-128-CBC-SHA256
            - TLS-DHE-DSS-WITH-ARIA-256-CBC-SHA384
            - TLS-RSA-WITH-SEED-CBC-SHA
            - TLS-RSA-WITH-ARIA-128-CBC-SHA256
            - TLS-RSA-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-ECDHE-RSA-WITH-RC4-128-SHA
            - TLS-ECDHE-RSA-WITH-3DES-EDE-CBC-SHA
            - TLS-DHE-DSS-WITH-3DES-EDE-CBC-SHA
            - TLS-RSA-WITH-3DES-EDE-CBC-SHA
            - TLS-RSA-WITH-RC4-128-MD5
            - TLS-RSA-WITH-RC4-128-SHA
            - TLS-DHE-RSA-WITH-DES-CBC-SHA
            - TLS-DHE-DSS-WITH-DES-CBC-SHA
            - TLS-RSA-WITH-DES-CBC-SHA
            description:
            - Cipher suite name.
            type: str
          priority:
            description:
            - SSL/TLS cipher suites priority. see <a href='#notes'>Notes</a>.
            required: true
            type: int
          versions:
            choices:
            - ssl-3.0
            - tls-1.0
            - tls-1.1
            - tls-1.2
            - tls-1.3
            description:
            - SSL/TLS versions that the cipher suite can be used with.
            elements: str
            type: list
        type: list
      ssl_client_fallback:
        choices:
        - disable
        - enable
        description:
        - Enable/disable support for preventing Downgrade Attacks on client connections
          (RFC 7507).
        type: str
      ssl_client_rekey_count:
        description:
        - Maximum length of data in MB before triggering a client rekey (0 = disable).
        type: int
      ssl_client_renegotiation:
        choices:
        - allow
        - deny
        - secure
        description:
        - Allow, deny, or require secure renegotiation of client sessions to comply with
          RFC 5746.
        type: str
      ssl_client_session_state_max:
        description:
        - Maximum number of client to FortiGate SSL session states to keep.
        type: int
      ssl_client_session_state_timeout:
        description:
        - Number of minutes to keep client to FortiGate SSL session state.
        type: int
      ssl_client_session_state_type:
        choices:
        - disable
        - time
        - count
        - both
        description:
        - How to expire SSL sessions for the segment of the SSL connection between the
          client and the FortiGate.
        type: str
      ssl_dh_bits:
        choices:
        - '768'
        - '1024'
        - '1536'
        - '2048'
        - '3072'
        - '4096'
        description:
        - Number of bits to use in the Diffie-Hellman exchange for RSA encryption of SSL
          sessions.
        type: str
      ssl_hpkp:
        choices:
        - disable
        - enable
        - report-only
        description:
        - Enable/disable including HPKP header in response.
        type: str
      ssl_hpkp_age:
        description:
        - Number of minutes the web browser should keep HPKP.
        type: int
      ssl_hpkp_backup:
        description:
        - Certificate to generate backup HPKP pin from. Source vpn.certificate.local.name
          vpn.certificate.ca.name.
        type: str
      ssl_hpkp_include_subdomains:
        choices:
        - disable
        - enable
        description:
        - Indicate that HPKP header applies to all subdomains.
        type: str
      ssl_hpkp_primary:
        description:
        - Certificate to generate primary HPKP pin from. Source vpn.certificate.local.name
          vpn.certificate.ca.name.
        type: str
      ssl_hpkp_report_uri:
        description:
        - URL to report HPKP violations to.
        type: str
      ssl_hsts:
        choices:
        - disable
        - enable
        description:
        - Enable/disable including HSTS header in response.
        type: str
      ssl_hsts_age:
        description:
        - Number of seconds the client should honor the HSTS setting.
        type: int
      ssl_hsts_include_subdomains:
        choices:
        - disable
        - enable
        description:
        - Indicate that HSTS header applies to all subdomains.
        type: str
      ssl_http_location_conversion:
        choices:
        - enable
        - disable
        description:
        - Enable to replace HTTP with HTTPS in the reply"s Location HTTP header field.
        type: str
      ssl_http_match_host:
        choices:
        - enable
        - disable
        description:
        - Enable/disable HTTP host matching for location conversion.
        type: str
      ssl_max_version:
        choices:
        - ssl-3.0
        - tls-1.0
        - tls-1.1
        - tls-1.2
        - tls-1.3
        description:
        - Highest SSL/TLS version acceptable from a client.
        type: str
      ssl_min_version:
        choices:
        - ssl-3.0
        - tls-1.0
        - tls-1.1
        - tls-1.2
        - tls-1.3
        description:
        - Lowest SSL/TLS version acceptable from a client.
        type: str
      ssl_mode:
        choices:
        - half
        - full
        description:
        - Apply SSL offloading between the client and the FortiGate (half) or from the
          client to the FortiGate and from the FortiGate to the server (full).
        type: str
      ssl_pfs:
        choices:
        - require
        - deny
        - allow
        description:
        - Select the cipher suites that can be used for SSL perfect forward secrecy (PFS).
          Applies to both client and server sessions.
        type: str
      ssl_send_empty_frags:
        choices:
        - enable
        - disable
        description:
        - Enable/disable sending empty fragments to avoid CBC IV attacks (SSL 3.0 & TLS
          1.0 only). May need to be disabled for compatibility with older systems.
        type: str
      ssl_server_algorithm:
        choices:
        - high
        - medium
        - low
        - custom
        - client
        description:
        - Permitted encryption algorithms for the server side of SSL full mode sessions
          according to encryption strength.
        type: str
      ssl_server_cipher_suites:
        description:
        - SSL/TLS cipher suites to offer to a server, ordered by priority.
        elements: dict
        suboptions:
          cipher:
            choices:
            - TLS-AES-128-GCM-SHA256
            - TLS-AES-256-GCM-SHA384
            - TLS-CHACHA20-POLY1305-SHA256
            - 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-CBC-SHA
            - TLS-DHE-RSA-WITH-AES-256-CBC-SHA
            - TLS-DHE-RSA-WITH-AES-128-CBC-SHA256
            - TLS-DHE-RSA-WITH-AES-128-GCM-SHA256
            - TLS-DHE-RSA-WITH-AES-256-CBC-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-SHA
            - TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA256
            - TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256
            - TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA
            - 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-SHA
            - TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA384
            - TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384
            - 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-128-GCM-SHA256
            - TLS-RSA-WITH-AES-256-CBC-SHA256
            - TLS-RSA-WITH-AES-256-GCM-SHA384
            - 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-DHE-RSA-WITH-3DES-EDE-CBC-SHA
            - TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA
            - TLS-DHE-DSS-WITH-CAMELLIA-128-CBC-SHA
            - TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA
            - TLS-DHE-DSS-WITH-CAMELLIA-256-CBC-SHA
            - TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA256
            - TLS-DHE-DSS-WITH-CAMELLIA-128-CBC-SHA256
            - TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA256
            - TLS-DHE-DSS-WITH-CAMELLIA-256-CBC-SHA256
            - TLS-DHE-RSA-WITH-SEED-CBC-SHA
            - TLS-DHE-DSS-WITH-SEED-CBC-SHA
            - TLS-DHE-RSA-WITH-ARIA-128-CBC-SHA256
            - TLS-DHE-RSA-WITH-ARIA-256-CBC-SHA384
            - TLS-DHE-DSS-WITH-ARIA-128-CBC-SHA256
            - TLS-DHE-DSS-WITH-ARIA-256-CBC-SHA384
            - TLS-RSA-WITH-SEED-CBC-SHA
            - TLS-RSA-WITH-ARIA-128-CBC-SHA256
            - TLS-RSA-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-ECDHE-RSA-WITH-RC4-128-SHA
            - TLS-ECDHE-RSA-WITH-3DES-EDE-CBC-SHA
            - TLS-DHE-DSS-WITH-3DES-EDE-CBC-SHA
            - TLS-RSA-WITH-3DES-EDE-CBC-SHA
            - TLS-RSA-WITH-RC4-128-MD5
            - TLS-RSA-WITH-RC4-128-SHA
            - TLS-DHE-RSA-WITH-DES-CBC-SHA
            - TLS-DHE-DSS-WITH-DES-CBC-SHA
            - TLS-RSA-WITH-DES-CBC-SHA
            description:
            - Cipher suite name.
            type: str
          priority:
            description:
            - SSL/TLS cipher suites priority. see <a href='#notes'>Notes</a>.
            required: true
            type: int
          versions:
            choices:
            - ssl-3.0
            - tls-1.0
            - tls-1.1
            - tls-1.2
            - tls-1.3
            description:
            - SSL/TLS versions that the cipher suite can be used with.
            elements: str
            type: list
        type: list
      ssl_server_max_version:
        choices:
        - ssl-3.0
        - tls-1.0
        - tls-1.1
        - tls-1.2
        - tls-1.3
        - client
        description:
        - Highest SSL/TLS version acceptable from a server. Use the client setting by
          default.
        type: str
      ssl_server_min_version:
        choices:
        - ssl-3.0
        - tls-1.0
        - tls-1.1
        - tls-1.2
        - tls-1.3
        - client
        description:
        - Lowest SSL/TLS version acceptable from a server. Use the client setting by default.
        type: str
      ssl_server_renegotiation:
        choices:
        - enable
        - disable
        description:
        - Enable/disable secure renegotiation to comply with RFC 5746.
        type: str
      ssl_server_session_state_max:
        description:
        - Maximum number of FortiGate to Server SSL session states to keep.
        type: int
      ssl_server_session_state_timeout:
        description:
        - Number of minutes to keep FortiGate to Server SSL session state.
        type: int
      ssl_server_session_state_type:
        choices:
        - disable
        - time
        - count
        - both
        description:
        - How to expire SSL sessions for the segment of the SSL connection between the
          server and the FortiGate.
        type: str
      type:
        choices:
        - static-nat
        - server-load-balance
        - access-proxy
        description:
        - Configure a static NAT server load balance VIP or access proxy.
        type: str
      uuid:
        description:
        - Universally Unique Identifier (UUID; automatically assigned but can be manually
          reset).
        type: str
      weblogic_server:
        choices:
        - disable
        - enable
        description:
        - Enable to add an HTTP header to indicate SSL offloading for a WebLogic server.
        type: str
      websphere_server:
        choices:
        - disable
        - enable
        description:
        - Enable to add an HTTP header to indicate SSL offloading for a WebSphere server.
        type: str
    type: dict

Outputs

build:
  description: Build number of the fortigate image
  returned: always
  sample: '1547'
  type: str
http_method:
  description: Last method used to provision the content into FortiGate
  returned: always
  sample: PUT
  type: str
http_status:
  description: Last result given by FortiGate on last operation applied
  returned: always
  sample: '200'
  type: str
mkey:
  description: Master key (id) used in the last call to FortiGate
  returned: success
  sample: id
  type: str
name:
  description: Name of the table used to fulfill the request
  returned: always
  sample: urlfilter
  type: str
path:
  description: Path of the table used to fulfill the request
  returned: always
  sample: webfilter
  type: str
revision:
  description: Internal revision number
  returned: always
  sample: 17.0.2.10658
  type: str
serial:
  description: Serial number of the unit
  returned: always
  sample: FGVMEVYYQT3AB5352
  type: str
status:
  description: Indication of the operation's result
  returned: always
  sample: success
  type: str
vdom:
  description: Virtual domain used
  returned: always
  sample: root
  type: str
version:
  description: Version of the FortiGate
  returned: always
  sample: v5.6.3
  type: str