fortinet.fortios.fortios_web_proxy_profile (2.3.6) — module

Configure web proxy profiles 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 web_proxy feature and profile 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 web proxy profiles.
  fortinet.fortios.fortios_web_proxy_profile:
      vdom: "{{ vdom }}"
      state: "present"
      access_token: "<your_own_value>"
      web_proxy_profile:
          header_client_ip: "pass"
          header_front_end_https: "pass"
          header_via_request: "pass"
          header_via_response: "pass"
          header_x_authenticated_groups: "pass"
          header_x_authenticated_user: "pass"
          header_x_forwarded_client_cert: "pass"
          header_x_forwarded_for: "pass"
          headers:
              -
                  action: "add-to-request"
                  add_option: "append"
                  base64_encoding: "disable"
                  content: "<your_own_value>"
                  dstaddr:
                      -
                          name: "default_name_17 (source firewall.address.name firewall.addrgrp.name)"
                  dstaddr6:
                      -
                          name: "default_name_19 (source firewall.address6.name firewall.addrgrp6.name)"
                  id: "20"
                  name: "default_name_21"
                  protocol: "https"
          log_header_change: "enable"
          name: "default_name_24"
          strip_encoding: "enable"

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

web_proxy_profile:
    default: null
    description:
    - Configure web proxy profiles.
    suboptions:
      header_client_ip:
        choices:
        - pass
        - add
        - remove
        description:
        - 'Action to take on the HTTP client-IP header in forwarded requests: forwards
          (pass), adds, or removes the HTTP header.'
        type: str
      header_front_end_https:
        choices:
        - pass
        - add
        - remove
        description:
        - 'Action to take on the HTTP front-end-HTTPS header in forwarded requests: forwards
          (pass), adds, or removes the HTTP header.'
        type: str
      header_via_request:
        choices:
        - pass
        - add
        - remove
        description:
        - 'Action to take on the HTTP via header in forwarded requests: forwards (pass),
          adds, or removes the HTTP header.'
        type: str
      header_via_response:
        choices:
        - pass
        - add
        - remove
        description:
        - 'Action to take on the HTTP via header in forwarded responses: forwards (pass),
          adds, or removes the HTTP header.'
        type: str
      header_x_authenticated_groups:
        choices:
        - pass
        - add
        - remove
        description:
        - 'Action to take on the HTTP x-authenticated-groups header in forwarded requests:
          forwards (pass), adds, or removes the HTTP header.'
        type: str
      header_x_authenticated_user:
        choices:
        - pass
        - add
        - remove
        description:
        - 'Action to take on the HTTP x-authenticated-user header in forwarded requests:
          forwards (pass), adds, or removes the HTTP header.'
        type: str
      header_x_forwarded_client_cert:
        choices:
        - pass
        - add
        - remove
        description:
        - 'Action to take on the HTTP x-forwarded-client-cert header in forwarded requests:
          forwards (pass), adds, or removes the HTTP header.'
        type: str
      header_x_forwarded_for:
        choices:
        - pass
        - add
        - remove
        description:
        - 'Action to take on the HTTP x-forwarded-for header in forwarded requests: forwards
          (pass), adds, or removes the HTTP header.'
        type: str
      headers:
        description:
        - Configure HTTP forwarded requests headers.
        elements: dict
        suboptions:
          action:
            choices:
            - add-to-request
            - add-to-response
            - remove-from-request
            - remove-from-response
            - monitor-request
            - monitor-response
            description:
            - Configure adding, removing, or logging of the HTTP header entry in HTTP
              requests and responses.
            type: str
          add_option:
            choices:
            - append
            - new-on-not-found
            - new
            description:
            - Configure options to append content to existing HTTP header or add new HTTP
              header.
            type: str
          base64_encoding:
            choices:
            - disable
            - enable
            description:
            - Enable/disable use of base64 encoding of HTTP content.
            type: str
          content:
            description:
            - HTTP header content.
            type: str
          dstaddr:
            description:
            - Destination address and address group names.
            elements: dict
            suboptions:
              name:
                description:
                - Address name. Source firewall.address.name firewall.addrgrp.name.
                required: true
                type: str
            type: list
          dstaddr6:
            description:
            - Destination address and address group names (IPv6).
            elements: dict
            suboptions:
              name:
                description:
                - Address name. Source firewall.address6.name firewall.addrgrp6.name.
                required: true
                type: str
            type: list
          id:
            description:
            - HTTP forwarded header id. see <a href='#notes'>Notes</a>.
            required: true
            type: int
          name:
            description:
            - HTTP forwarded header name.
            type: str
          protocol:
            choices:
            - https
            - http
            description:
            - Configure protocol(s) to take add-option action on (HTTP, HTTPS, or both).
            elements: str
            type: list
        type: list
      log_header_change:
        choices:
        - enable
        - disable
        description:
        - Enable/disable logging HTTP header changes.
        type: str
      name:
        description:
        - Profile name.
        required: true
        type: str
      strip_encoding:
        choices:
        - enable
        - disable
        description:
        - Enable/disable stripping unsupported encoding from the request header.
        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