ansible.builtin.fortios_system_automation_action (v2.9.27) — module

Action for automation stitches in Fortinet's FortiOS and FortiGate.

| "added in version" 2.9 of ansible.builtin"

Authors: Miguel Angel Munoz (@mamunozgonzalez), Nicolas Thomas (@thomnico)

preview | supported by community

Install Ansible via pip

Install with pip install ansible==2.9.27

Description

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


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- hosts: localhost
  vars:
   host: "192.168.122.40"
   username: "admin"
   password: ""
   vdom: "root"
   ssl_verify: "False"
  tasks:
  - name: Action for automation stitches.
    fortios_system_automation_action:
      host:  "{{ host }}"
      username: "{{ username }}"
      password: "{{ password }}"
      vdom:  "{{ vdom }}"
      https: "False"
      state: "present"
      system_automation_action:
        action_type: "email"
        aws_api_id: "<your_own_value>"
        aws_api_key: "<your_own_value>"
        aws_api_path: "<your_own_value>"
        aws_api_stage: "<your_own_value>"
        aws_domain: "<your_own_value>"
        aws_region: "<your_own_value>"
        delay: "10"
        email_subject: "<your_own_value>"
        email_to:
         -
            name: "default_name_13"
        headers:
         -
            header: "<your_own_value>"
        http_body: "<your_own_value>"
        method: "post"
        minimum_interval: "18"
        name: "default_name_19"
        port: "20"
        protocol: "http"
        required: "enable"
        uri: "<your_own_value>"

Inputs

    
host:
    description:
    - FortiOS or FortiGate IP address.
    required: false
    type: str

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

https:
    default: true
    description:
    - Indicates if the requests towards FortiGate must use HTTPS protocol.
    type: bool

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

password:
    default: ''
    description:
    - FortiOS or FortiGate password.
    type: str

username:
    description:
    - FortiOS or FortiGate username.
    required: false
    type: str

ssl_verify:
    default: true
    description:
    - Ensures FortiGate certificate must be verified by a proper CA.
    type: bool

system_automation_action:
    default: null
    description:
    - Action for automation stitches.
    suboptions:
      action_type:
        choices:
        - email
        - ios-notification
        - alert
        - disable-ssid
        - quarantine
        - quarantine-forticlient
        - ban-ip
        - aws-lambda
        - webhook
        description:
        - Action type.
        type: str
      aws_api_id:
        description:
        - AWS API Gateway ID.
        type: str
      aws_api_key:
        description:
        - AWS API Gateway API key.
        type: str
      aws_api_path:
        description:
        - AWS API Gateway path.
        type: str
      aws_api_stage:
        description:
        - AWS API Gateway deployment stage name.
        type: str
      aws_domain:
        description:
        - AWS domain.
        type: str
      aws_region:
        description:
        - AWS region.
        type: str
      delay:
        description:
        - Delay before execution (in seconds).
        type: int
      email_subject:
        description:
        - Email subject.
        type: str
      email_to:
        description:
        - Email addresses.
        suboptions:
          name:
            description:
            - Email address.
            required: true
            type: str
        type: list
      headers:
        description:
        - Request headers.
        suboptions:
          header:
            description:
            - Request header.
            required: true
            type: str
        type: list
      http_body:
        description:
        - Request body (if necessary). Should be serialized json string.
        type: str
      method:
        choices:
        - post
        - put
        - get
        description:
        - Request method (GET, POST or PUT).
        type: str
      minimum_interval:
        description:
        - Limit execution to no more than once in this interval (in seconds).
        type: int
      name:
        description:
        - Name.
        required: true
        type: str
      port:
        description:
        - Protocol port.
        type: int
      protocol:
        choices:
        - http
        - https
        description:
        - Request protocol.
        type: str
      required:
        choices:
        - enable
        - disable
        description:
        - Required in action chain.
        type: str
      uri:
        description:
        - Request API URI.
        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