fortinet.fortimanager.fmgr_ips_sensor_obj (1.0.5) — module

Configure IPS sensor.

| "added in version" 2.10 of fortinet.fortimanager"

Authors: Frank Shen (@fshen01), Link Zheng (@zhengl)

preview | supported by community

Install collection

Install with ansible-galaxy collection install fortinet.fortimanager:==1.0.5


Add to requirements.yml

  collections:
    - name: fortinet.fortimanager
      version: 1.0.5

Description

This module is able to configure a FortiManager device by allowing the user to [ clone delete get set update ] the following apis.

/pm/config/adom/{adom}/obj/ips/sensor/{sensor}

/pm/config/global/obj/ips/sensor/{sensor}

Examples include all parameters and values need to be adjusted to data sources before usage.

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
 - 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: REQUESTING /PM/CONFIG/OBJ/IPS/SENSOR/{SENSOR}
      fmgr_ips_sensor_obj:
         loose_validation: False
         workspace_locking_adom: <value in [global, custom adom]>
         workspace_locking_timeout: 300
         method: <value in [clone, set, update]>
         url_params:
            adom: <value in [none, global, custom dom]>
            sensor: <value of string>
         params:
            -
               data:
                  block-malicious-url: <value in [disable, enable]>
                  comment: <value of string>
                  entries:
                    -
                        action: <value in [pass, block, reset, ...]>
                        application:
                          - <value of string>
                        exempt-ip:
                          -
                              dst-ip: <value of string>
                              id: <value of integer>
                              src-ip: <value of string>
                        id: <value of integer>
                        location:
                          - <value of string>
                        log: <value in [disable, enable]>
                        log-attack-context: <value in [disable, enable]>
                        log-packet: <value in [disable, enable]>
                        os:
                          - <value of string>
                        protocol:
                          - <value of string>
                        quarantine: <value in [none, attacker, both, ...]>
                        quarantine-expiry: <value of string>
                        quarantine-log: <value in [disable, enable]>
                        rate-count: <value of integer>
                        rate-duration: <value of integer>
                        rate-mode: <value in [periodical, continuous]>
                        rate-track: <value in [none, src-ip, dest-ip, ...]>
                        rule: <value of string>
                        severity:
                          - <value of string>
                        status: <value in [disable, enable, default]>
                  extended-log: <value in [disable, enable]>
                  filter:
                    -
                        action: <value in [pass, block, default, ...]>
                        application:
                          - <value of string>
                        location:
                          - <value of string>
                        log: <value in [disable, enable, default]>
                        log-packet: <value in [disable, enable, default]>
                        name: <value of string>
                        os:
                          - <value of string>
                        protocol:
                          - <value of string>
                        quarantine: <value in [none, attacker, both, ...]>
                        quarantine-expiry: <value of integer>
                        quarantine-log: <value in [disable, enable]>
                        severity:
                          - <value of string>
                        status: <value in [disable, enable, default]>
                  name: <value of string>
                  override:
                    -
                        action: <value in [pass, block, reset]>
                        exempt-ip:
                          -
                              dst-ip: <value of string>
                              id: <value of integer>
                              src-ip: <value of string>
                        log: <value in [disable, enable]>
                        log-packet: <value in [disable, enable]>
                        quarantine: <value in [none, attacker, both, ...]>
                        quarantine-expiry: <value of integer>
                        quarantine-log: <value in [disable, enable]>
                        rule-id: <value of integer>
                        status: <value in [disable, enable]>
                  replacemsg-group: <value of string>

    - name: REQUESTING /PM/CONFIG/OBJ/IPS/SENSOR/{SENSOR}
      fmgr_ips_sensor_obj:
         loose_validation: False
         workspace_locking_adom: <value in [global, custom adom]>
         workspace_locking_timeout: 300
         method: <value in [get]>
         url_params:
            adom: <value in [none, global, custom dom]>
            sensor: <value of string>
         params:
            -
               option: <value in [object member, chksum, datasrc]>

Inputs

    
method:
    choices:
    - clone
    - delete
    - get
    - set
    - update
    description:
    - The method in request
    required: true
    type: str

params:
    description:
    - The parameters for each method
    - See full parameters list in https://ansible-galaxy-fortimanager-docs.readthedocs.io/en/latest
    required: false
    type: list

url_params:
    description:
    - The parameters for each API request URL
    - Also see full URL parameters in https://ansible-galaxy-fortimanager-docs.readthedocs.io/en/latest
    required: false
    type: dict

loose_validation:
    description:
    - Do parameter validation in a loose way
    required: false
    type: bool

workspace_locking_adom:
    description:
    - the adom name to lock in case FortiManager running in workspace mode
    - it can be global or any other custom adom names
    required: false
    type: str

workspace_locking_timeout:
    default: 300
    description:
    - the maximum time in seconds to wait for other user to release the workspace lock
    required: false
    type: int

Outputs

data:
  description: The payload returned in the request
  returned: always
  type: dict
status:
  description: The status of api request
  returned: always
  type: dict
url:
  description: The full url requested
  returned: always
  sample: /sys/login/user
  type: str