fortinet.fortios.fortios_wanopt_content_delivery_network_rule (2.3.6) — module

Configure WAN optimization content delivery network rules 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 wanopt feature and content_delivery_network_rule 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 WAN optimization content delivery network rules.
  fortinet.fortios.fortios_wanopt_content_delivery_network_rule:
      vdom: "{{ vdom }}"
      state: "present"
      access_token: "<your_own_value>"
      wanopt_content_delivery_network_rule:
          category: "vcache"
          comment: "Comment about this CDN-rule."
          host_domain_name_suffix:
              -
                  name: "default_name_6"
          name: "default_name_7"
          request_cache_control: "enable"
          response_cache_control: "enable"
          response_expires: "enable"
          rules:
              -
                  content_id:
                      end_direction: "forward"
                      end_skip: "0"
                      end_str: "<your_own_value>"
                      range_str: "<your_own_value>"
                      start_direction: "forward"
                      start_skip: "0"
                      start_str: "<your_own_value>"
                      target: "path"
                  match_entries:
                      -
                          id: "22"
                          pattern:
                              -
                                  string: "<your_own_value>"
                          target: "path"
                  match_mode: "all"
                  name: "default_name_27"
                  skip_entries:
                      -
                          id: "29"
                          pattern:
                              -
                                  string: "<your_own_value>"
                          target: "path"
                  skip_rule_mode: "all"
          status: "enable"
          text_response_vcache: "enable"
          updateserver: "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

wanopt_content_delivery_network_rule:
    default: null
    description:
    - Configure WAN optimization content delivery network rules.
    suboptions:
      category:
        choices:
        - vcache
        - youtube
        description:
        - Content delivery network rule category.
        type: str
      comment:
        description:
        - Comment about this CDN-rule.
        type: str
      host_domain_name_suffix:
        description:
        - Suffix portion of the fully qualified domain name. For example, fortinet.com
          in "www.fortinet.com".
        elements: dict
        suboptions:
          name:
            description:
            - Suffix portion of the fully qualified domain name.
            required: true
            type: str
        type: list
      name:
        description:
        - Name of table.
        required: true
        type: str
      request_cache_control:
        choices:
        - enable
        - disable
        description:
        - Enable/disable HTTP request cache control.
        type: str
      response_cache_control:
        choices:
        - enable
        - disable
        description:
        - Enable/disable HTTP response cache control.
        type: str
      response_expires:
        choices:
        - enable
        - disable
        description:
        - Enable/disable HTTP response cache expires.
        type: str
      rules:
        description:
        - WAN optimization content delivery network rule entries.
        elements: dict
        suboptions:
          content_id:
            description:
            - Content ID settings.
            suboptions:
              end_direction:
                choices:
                - forward
                - backward
                description:
                - Search direction from end-str match.
                type: str
              end_skip:
                description:
                - Number of characters in URL to skip after end-str has been matched.
                type: int
              end_str:
                description:
                - String from which to end search.
                type: str
              range_str:
                description:
                - Name of content ID within the start string and end string.
                type: str
              start_direction:
                choices:
                - forward
                - backward
                description:
                - Search direction from start-str match.
                type: str
              start_skip:
                description:
                - Number of characters in URL to skip after start-str has been matched.
                type: int
              start_str:
                description:
                - String from which to start search.
                type: str
              target:
                choices:
                - path
                - parameter
                - referrer
                - youtube-map
                - youtube-id
                - youku-id
                - hls-manifest
                - dash-manifest
                - hls-fragment
                - dash-fragment
                description:
                - Option in HTTP header or URL parameter to match.
                type: str
            type: dict
          match_entries:
            description:
            - List of entries to match.
            elements: dict
            suboptions:
              id:
                description:
                - Rule ID. see <a href='#notes'>Notes</a>.
                required: true
                type: int
              pattern:
                description:
                - Pattern string for matching target (Referrer or URL pattern). For example,
                  a, a*c, *a*, a*c*e, and *.
                elements: dict
                suboptions:
                  string:
                    description:
                    - Pattern strings.
                    required: true
                    type: str
                type: list
              target:
                choices:
                - path
                - parameter
                - referrer
                - youtube-map
                - youtube-id
                - youku-id
                description:
                - Option in HTTP header or URL parameter to match.
                type: str
            type: list
          match_mode:
            choices:
            - all
            - any
            description:
            - Match criteria for collecting content ID.
            type: str
          name:
            description:
            - WAN optimization content delivery network rule name.
            required: true
            type: str
          skip_entries:
            description:
            - List of entries to skip.
            elements: dict
            suboptions:
              id:
                description:
                - Rule ID. see <a href='#notes'>Notes</a>.
                required: true
                type: int
              pattern:
                description:
                - Pattern string for matching target (Referrer or URL pattern). For example,
                  a, a*c, *a*, a*c*e, and *.
                elements: dict
                suboptions:
                  string:
                    description:
                    - Pattern strings.
                    required: true
                    type: str
                type: list
              target:
                choices:
                - path
                - parameter
                - referrer
                - youtube-map
                - youtube-id
                - youku-id
                description:
                - Option in HTTP header or URL parameter to match.
                type: str
            type: list
          skip_rule_mode:
            choices:
            - all
            - any
            description:
            - Skip mode when evaluating skip-rules.
            type: str
        type: list
      status:
        choices:
        - enable
        - disable
        description:
        - Enable/disable WAN optimization content delivery network rules.
        type: str
      text_response_vcache:
        choices:
        - enable
        - disable
        description:
        - Enable/disable caching of text responses.
        type: str
      updateserver:
        choices:
        - enable
        - disable
        description:
        - Enable/disable update 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