fmgr_firewall_accessproxy_apigateway – Set API Gateway.

New in version 2.10.

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.

Requirements

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

  • ansible>=2.9.0

FortiManager Version Compatibility


7.0.0 7.2.0
firewall_accessproxy_apigateway yes yes

Parameters

  • 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
  • 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
  • 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
  • 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
  • adom - The parameter in requested url type: str required: true
  • access-proxy - The parameter in requested url type: str required: true
  • firewall_accessproxy_apigateway - no description type: dict
    • http-cookie-age - Time in minutes that client web browsers should keep a cookie. type: int more...
    • http-cookie-domain - Domain that HTTP cookie persistence should apply to. type: str more...
    • 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 - Generation of HTTP cookie to be accepted. type: int more...
    • http-cookie-path - Limit HTTP cookie persistence to the specified path. type: str more...
    • http-cookie-share - Control sharing of cookies across API Gateway. type: str choices: [disable, same-ip] more...
    • 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 - Method used to distribute sessions to real servers. type: str choices: [static, round-robin, weighted, least-session, least-rtt, 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 - No description for the parameter type: array more...
      • address - Address or address group of the real server. type: str more...
      • health-check - Enable to check the responsiveness of the real server before forwarding traffic. type: str choices: [disable, enable] more...
      • 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...
      • 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...
      • mappedport - Port for communicating with the real server. type: 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...
      • addr-type - Type of address. type: str choices: [fqdn, ip] more...
      • domain - Wildcard domain name of the real server. type: str more...
      • holddown-interval - Enable/disable holddown timer. type: str choices: [disable, enable] more...
      • ssh-client-cert - Set access-proxy SSH client certificate profile. type: str more...
      • ssh-host-key - No description for the parameter type: str more...
      • ssh-host-key-validation - Enable/disable SSH real server host key validation. type: str choices: [disable, enable] more...
      • type - TCP forwarding server type. type: str choices: [tcp-forwarding, ssh] more...
    • saml-server - SAML service provider configuration for VIP authentication. type: str more...
    • service - Service. type: str choices: [http, https, tcp-forwarding, samlsp, web-portal] more...
    • ssl-algorithm - Permitted encryption algorithms for the server side of SSL full mode sessions according to encryption strength. type: str choices: [high, medium, low, custom] more...
    • ssl-cipher-suites - No description for the parameter type: array 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 - No description for the parameter type: array choices: [tls-1.0, tls-1.1, tls-1.2, tls-1.3] more...
    • 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 - 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 - Lowest SSL/TLS version acceptable from a server. type: str choices: [tls-1.0, tls-1.1, tls-1.2, tls-1.3] more...
    • url-map - URL pattern to match. type: str more...
    • url-map-type - Type of url-map. type: str choices: [sub-string, wildcard, regex] more...
    • virtual-host - Virtual host. type: str more...
    • saml-redirect - Enable/disable SAML redirection after successful authentication. type: str choices: [disable, enable] more...
    • ssl-vpn-web-portal - SSL-VPN web portal. type: str 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

- 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: no description
     fmgr_firewall_accessproxy_apigateway:
        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-proxy: <your own value>
        state: <value in [present, absent]>
        firewall_accessproxy_apigateway:
           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]>
           https-cookie-secure: <value in [disable, enable]>
           id: <value of integer>
           ldb-method: <value in [static, round-robin, weighted, ...]>
           persistence: <value in [none, http-cookie]>
           realservers:
             -
                 address: <value of string>
                 health-check: <value in [disable, enable]>
                 health-check-proto: <value in [ping, http, tcp-connect]>
                 http-host: <value of string>
                 id: <value of integer>
                 ip: <value of string>
                 mappedport: <value of string>
                 port: <value of integer>
                 status: <value in [active, standby, disable]>
                 weight: <value of integer>
                 addr-type: <value in [fqdn, ip]>
                 domain: <value of string>
                 holddown-interval: <value in [disable, enable]>
                 ssh-client-cert: <value of string>
                 ssh-host-key: <value of string>
                 ssh-host-key-validation: <value in [disable, enable]>
                 type: <value in [tcp-forwarding, ssh]>
           saml-server: <value of 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: <value of 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, ...]>
           url-map: <value of string>
           url-map-type: <value in [sub-string, wildcard, regex]>
           virtual-host: <value of string>
           saml-redirect: <value in [disable, enable]>
           ssl-vpn-web-portal: <value of string>

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:

  • 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_message - The descriptive message of the api response returned: always type: str sample: OK
  • response_data - The data body of the api response returned: optional type: list or dict

Status

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

Authors

  • Link Zheng (@chillancezen)
  • Jie Xue (@JieX19)
  • Frank Shen (@fshen01)
  • Hongbin Lu (@fgtdev-hblu)

Hint

If you notice any issues in this documentation, you can create a pull request to improve it.