# fortios_system_automation_action – Action for automation stitches in Fortinet’s FortiOS and FortiGate

New in version 2.9.

- Synopsis

- Requirements

- Parameters

- Notes

- Examples

- Return Values

- Status

## Synopsis

- 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

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

- fortiosapi>=0.9.8

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
host string |  | FortiOS or FortiGate IP address.

https
boolean

Choices:
- no
- yes ←

Indicates if the requests towards FortiGate must use HTTPS protocol.

password string | Default: "" | FortiOS or FortiGate password.

ssl_verify
boolean

Choices:
- no
- yes ←

Ensures FortiGate certificate must be verified by a proper CA.

state
string / required

Choices:
- present
- absent

Indicates whether to create or remove the object.

system_automation_action dictionary | Default: null | Action for automation stitches.

action_type
string

Choices:
- email
- ios-notification
- alert
- disable-ssid
- quarantine
- quarantine-forticlient
- ban-ip
- aws-lambda
- webhook

Action type.

| aws_api_id string |  | AWS API Gateway ID.
| aws_api_key string |  | AWS API Gateway API key.
| aws_api_path string |  | AWS API Gateway path.
| aws_api_stage string |  | AWS API Gateway deployment stage name.
| aws_domain string |  | AWS domain.
| aws_region string |  | AWS region.
| delay integer |  | Delay before execution (in seconds).
| email_subject string |  | Email subject.
| email_to list |  | Email addresses.
|  | name string / required |  | Email address.
| headers list |  | Request headers.
|  | header string / required |  | Request header.
| http_body string |  | Request body (if necessary). Should be serialized json string.

method
string

Choices:
- post
- put
- get

Request method (GET, POST or PUT).

| minimum_interval integer |  | Limit execution to no more than once in this interval (in seconds).
| name string / required |  | Name.
| port integer |  | Protocol port.

protocol
string

Choices:
- http
- https

Request protocol.

required
string

Choices:
- enable
- disable

Required in action chain.

| uri string |  | Request API URI.
username string |  | FortiOS or FortiGate username.
vdom string | Default: "root" | 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.

## Notes

Note

- Requires fortiosapi library developed by Fortinet

- Run as a local_action in your playbook

## Examples

    - 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>"

## Return Values

Common return values are documented here, the following are the fields unique to this module:

Key | Returned | Description
--- | --- | ---
build string | always | Build number of the fortigate image Sample: 1547
http_method string | always | Last method used to provision the content into FortiGate Sample: PUT
http_status string | always | Last result given by FortiGate on last operation applied Sample: 200
mkey string | success | Master key (id) used in the last call to FortiGate Sample: id
name string | always | Name of the table used to fulfill the request Sample: urlfilter
path string | always | Path of the table used to fulfill the request Sample: webfilter
revision string | always | Internal revision number Sample: 17.0.2.10658
serial string | always | Serial number of the unit Sample: FGVMEVYYQT3AB5352
status string | always | Indication of the operation's result Sample: success
vdom string | always | Virtual domain used Sample: root
version string | always | Version of the FortiGate Sample: v5.6.3

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]

- This module is maintained by the Ansible Community. [community]

### Authors

- Miguel Angel Munoz (@mamunozgonzalez)

- Nicolas Thomas (@thomnico)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.