fwebos_admin.py – Configure FortiWeb admin

New in version 1.0.1.

Synopsis

Configure FortiWeb admin

Requirements

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

  • ansible>=2.11

FortiWeb Version Compatibility


v7.0.x v7.2.x v7.4.x v7.6.x
fwebos_admin.py yes yes yes yes

Parameters

  • body Possible parameters to go in the body for the request required: True
    • name admin user name type:string maxLength:63
    • access-profile admin user access profile type:string
    • trusthostv4 admin user trust host ip, default 0.0.0.0 for all type:string
    • trusthostv6 admin user trust host ip, default ::/0 for all type:string
    • last-name last name type:string maxLength:63
    • first-name first name type:string maxLength:63
    • email-address email address type:string maxLength:63
    • phone-number phone number type:string maxLength:63
    • mobile-number mobile number type:string maxLength:63
    • hidden admin user hidden attribute type:integer
    • domains virtual domain list type:string
    • type admin user auth type type:string choice: local-user, remote-user,
    • admin-usergrp admin user group type:string
    • password admin user password type:string format:password
    • wildcard enable/disable type:string choice: enable, disable,
    • accprofile-override allow access profile to be overridden from remote auth server type:string choice: enable, disable,
    • sshkey admin user SSH public key type:string
    • force-password-change enable/disable force password change on next login. type:string choice: enable, disable,
    • mkey If present, objects will be filtered on property with this name type:string
    • vdom Specify the Virtual Domain(s) from which results are returned or changes are applied to. If this parameter is not provided, the management VDOM will be used. If the admin does not have access to the VDOM, a permission error will be returned. The URL parameter is one of: vdom=root (Single VDOM) vdom=vdom1,vdom2 (Multiple VDOMs) vdom=* (All VDOMs) type:array
    • clone_mkey Use *clone_mkey* to specify the ID for the new resource to be cloned. If *clone_mkey* is set, *mkey* must be provided which is cloned from. type:string

Examples

- name:
  hosts: all
  vars:
  connection: httpapi
  gather_facts: false
  tasks:
    - name: Create admin
      fwebos_admin:
       action: add
       name: test1
       access_profile: admin_no_access
       trusthostv4: 0.0.0.0/0
       trusthostv6: ::/0
       domains: root
       type: local-user
       admin_usergrp:
       force_password_change: disable
       password: 11111111

    - name: edit admin
      fwebos_admin:
       action: edit
       name: test1
       access_profile: admin_no_access
       trusthostv4: 0.0.0.0/0
       trusthostv6: ::/0
       domains: root1
       type: remote-user
       admin_usergrp: test

    - name: delete admin
      fwebos_admin:
       action: delete
       name: test1

Return Values

Common return values are documented: https://docs.ansible.com/ansible/latest/reference_appendices/common_return_values.html#common-return-values, the following are the fields unique to this module:

  • 200 : OK: Request returns successful
  • 400 : Bad Request: Request cannot be processed by the API
  • 401 : Not Authorized: Request without successful login session
  • 403 : Forbidden: Request is missing CSRF token or administrator is missing access profile permissions.
  • 404 : Resource Not Found: Unable to find the specified resource.
  • 405 : Method Not Allowed: Specified HTTP method is not allowed for this resource.
  • 413 : Request Entity Too Large: Request cannot be processed due to large entity
  • 424 : Failed Dependency: Fail dependency can be duplicate resource, missing required parameter, missing required attribute, invalid attribute value
  • 429 : Access temporarily blocked: Maximum failed authentications reached. The offended source is temporarily blocked for certain amount of time.
  • 500 : Internal Server Error: Internal error when processing the request

For errorcode please check FortiWeb API errorcode at : https://documenter.getpostman.com/view/11233300/TVetbkaK#887b9eb4-7c13-4338-a8db-16cc117f0119

Status

  • This module is not guaranteed to have a backwards compatible interface.

Authors

  • Jie Li
  • Brad Zhang

Hint

If you notice any issues in this documentation, you can create a pull request to improve it.