ansible.builtin.fortios_system_api_user (v2.8.20) — module

Configure API users in Fortinet's FortiOS and FortiGate.

| "added in version" 2.8 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.8.20

Description

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


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"
  tasks:
  - name: Configure API users.
    fortios_system_api_user:
      host:  "{{ host }}"
      username: "{{ username }}"
      password: "{{ password }}"
      vdom:  "{{ vdom }}"
      https: "False"
      system_api_user:
        state: "present"
        accprofile: "<your_own_value> (source system.accprofile.name)"
        api-key: "<your_own_value>"
        comments: "<your_own_value>"
        cors-allow-origin: "<your_own_value>"
        name: "default_name_7"
        peer-auth: "enable"
        peer-group: "<your_own_value>"
        schedule: "<your_own_value>"
        trusthost:
         -
            id:  "12"
            ipv4-trusthost: "<your_own_value>"
            ipv6-trusthost: "<your_own_value>"
            type: "ipv4-trusthost"
        vdom:
         -
            name: "default_name_17 (source system.vdom.name)"

Inputs

    
host:
    description:
    - FortiOS or FortiGate ip address.
    required: true

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.

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

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

username:
    description:
    - FortiOS or FortiGate username.
    required: true

system_api_user:
    default: null
    description:
    - Configure API users.
    suboptions:
      accprofile:
        description:
        - Admin user access profile. Source system.accprofile.name.
      api-key:
        description:
        - Admin user password.
      comments:
        description:
        - Comment.
      cors-allow-origin:
        description:
        - Value for Access-Control-Allow-Origin on API responses. Avoid using '*' if possible.
      name:
        description:
        - User name.
        required: true
      peer-auth:
        choices:
        - enable
        - disable
        description:
        - Enable/disable peer authentication.
      peer-group:
        description:
        - Peer group name.
      schedule:
        description:
        - Schedule name.
      state:
        choices:
        - present
        - absent
        description:
        - Indicates whether to create or remove the object
      trusthost:
        description:
        - Trusthost.
        suboptions:
          id:
            description:
            - Table ID.
            required: true
          ipv4-trusthost:
            description:
            - IPv4 trusted host address.
          ipv6-trusthost:
            description:
            - IPv6 trusted host address.
          type:
            choices:
            - ipv4-trusthost
            - ipv6-trusthost
            description:
            - Trusthost type.
      vdom:
        description:
        - Virtual domains.
        suboptions:
          name:
            description:
            - Virtual domain name. Source system.vdom.name.
            required: true

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