fortinet.fortianalyzer.faz_dvm_cmd_add_device (1.4.0) — module

Add a device to the Device Manager database.

| "added in version" 1.0.0 of fortinet.fortianalyzer"

Authors: Xinwei Du (@dux-fortinet), Link Zheng (@chillancezen), Jie Xue (@JieX19), Frank Shen (@fshen01), Hongbin Lu (@fgtdev-hblu)

preview | supported by community

Install collection

Install with ansible-galaxy collection install fortinet.fortianalyzer:==1.4.0


Add to requirements.yml

  collections:
    - name: fortinet.fortianalyzer
      version: 1.4.0

Description

This module is able to configure a FortiAnalyzer device.

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

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Example playbook
  connection: httpapi
  hosts: fortianalyzers
  tasks:
    - name: Add a device to the Device Manager database.
      fortinet.fortianalyzer.faz_dvm_cmd_add_device:
        dvm_cmd_add_device:
          adom: root
          device:
            adm_pass: "ca$hc0w"
            adm_usr: admin
            desc: "The device is added via FortiAnalyzer Ansible"
            device action: <value of string>
            ip: 192.168.190.132
            mgmt_mode: faz
            name: foodevice
            sn: FGVM02TM20012347
          flags:
            - create_task
            - nonblocking
      register: installing_task
    - name: Poll the task
      fortinet.fortianalyzer.faz_fact:
        facts:
          selector: "task_task"
          params:
            task: "{{ installing_task.meta.response_data.taskid }}"
      register: taskinfo
      until: taskinfo.meta.response_data.percent == 100
      retries: 30
      delay: 5
      failed_when: taskinfo.meta.response_data.state == 'error' and 'devsnexist' not in taskinfo.meta.response_data.line[0].detail
  vars:
    ansible_httpapi_port: 443
    ansible_httpapi_use_ssl: true
    ansible_httpapi_validate_certs: false

Inputs

    
log_path:
    default: /tmp/fortianalyzer.ansible.log
    description:
    - The path to save log. Used if enable_log is true.
    - Please use absolute path instead of relative path.
    - If the log_path setting is incorrect, the log will be saved in /tmp/fortianalyzer.ansible.log
    required: false
    type: str

rc_failed:
    description: the rc codes list with which the conditions to fail will be overriden
    elements: int
    required: false
    type: list

enable_log:
    default: false
    description: Enable/Disable logging for task
    required: false
    type: bool

access_token:
    description: The token to access FortiManager without using username and password.
    required: false
    type: str

rc_succeeded:
    description: the rc codes list with which the conditions to succeed will be overriden
    elements: int
    required: false
    type: list

bypass_validation:
    default: false
    description: only set to True when module schema diffs with FortiAnalyzer API structure,
      module continues to execute without validating parameters
    required: false
    type: bool

dvm_cmd_add_device:
    description: The top level parameters set.
    required: false
    suboptions:
      adom:
        description: Name or ID of the ADOM where the command is to be executed on.
        type: str
      device:
        description: no description
        required: false
        suboptions:
          adm_pass:
            description: no description
            type: str
          adm_usr:
            description: <i>add real and promote device</i>.
            type: str
          desc:
            description: <i>available for all operations</i>.
            type: str
          device action:
            description:
            - 'Specify add device operations, or leave blank to add real device:'
            - '"add_model" - add a model device.'
            - '"promote_unreg" - promote an unregistered device to be managed by FortiManager
              using information from database.'
            type: str
          faz.quota:
            description: <i>available for all operations</i>.
            type: int
          ip:
            description: <i>add real device only</i>. Add device will probe with this
              IP using the log in credential specified.
            type: str
          meta fields:
            description: <i>add real and model device</i>.
            type: str
          mgmt_mode:
            choices:
            - unreg
            - fmg
            - faz
            - fmgfaz
            description: <i>add real and model device</i>.
            type: str
          mr:
            description: <i>add model device only</i>.
            type: int
          name:
            description: <i>required for all operations</i>. Unique name for the device.
            type: str
          os_type:
            choices:
            - unknown
            - fos
            - fsw
            - foc
            - fml
            - faz
            - fwb
            - fch
            - fct
            - log
            - fmg
            - fsa
            - fdd
            - fac
            description: <i>add model device only</i>.
            type: str
          os_ver:
            choices:
            - unknown
            - '0.0'
            - '1.0'
            - '2.0'
            - '3.0'
            - '4.0'
            - '5.0'
            - '6.0'
            - '7.0'
            - '8.0'
            description: <i>add model device only</i>.
            type: str
          patch:
            description: <i>add model device only</i>.
            type: int
          platform_str:
            description: <i>add model device only</i>. Required for determine the platform
              for VM platforms.
            type: str
          sn:
            description: <i>add model device only</i>. This attribute will be used to
              determine the device platform, except for VM platforms, w...
            type: str
        type: dict
      flags:
        choices:
        - none
        - create_task
        - nonblocking
        description: no description
        elements: str
        type: list
      groups:
        description: no description
        elements: dict
        suboptions:
          name:
            description: no description
            type: str
          vdom:
            description: no description
            type: str
        type: list
    type: dict

forticloud_access_token:
    description: Authenticate Ansible client with forticloud API access token.
    required: false
    type: str

Outputs

meta:
  contains:
    request_url:
      description: The full url requested
      returned: always
      sample: /sys/login/user
      type: str
    response_code:
      description: The status of api request
      returned: always
      sample: 0
      type: int
    response_data:
      description: The api response
      returned: always
      type: list
    response_message:
      description: The descriptive message of the api response
      returned: always
      sample: OK.
      type: str
    system_information:
      description: The information of the target system.
      returned: always
      type: dict
  description: The result of the request.
  returned: always
  type: dict
rc:
  description: The status the request.
  returned: always
  sample: 0
  type: int
version_check_warning:
  description: Warning if the parameters used in the playbook are not supported by
    the current fortianalyzer version.
  returned: complex
  type: list