Skip to content

Latest commit

 

History

History
266 lines (227 loc) · 17.6 KB

faz_dvm_cmd_add_device.rst

File metadata and controls

266 lines (227 loc) · 17.6 KB
source

faz_dvm_cmd_add_device.py

orphan

faz_dvm_cmd_add_device -- Add a device to the Device Manager database.

1.0.0

Warning

Starting in version 2.0.0, all variables will be named in the underscore naming convention.

  • Possible variable names before 2.0.0: variable-name, variable name, variable.name
  • Corresponding variable names since 2.0.0: variable_name

FortiAnalyzer Ansible v1.4+ supports both previous argument name and new underscore name. You will receive deprecation warnings if you keep using the previous argument name. You can ignore the warning by setting deprecation_warnings=False in ansible.cfg.

Synopsis

  • This module is able to configure a FortiAnalyzer device.
  • Examples include all parameters and values need to be adjusted to data sources before usage.

Requirements

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

  • ansible>=2.15.0

FortiAnalyzer Version Compatibility

Supported Version Ranges: v6.2.1 -> latest

Parameters

  • access_token The token to access FortiAnalyzer without using ansible_username and ansible_password. type: str
  • bypass_validation Only set to True when module schema diffs with FortiAnalyzer API structure, module continues to execute without validating parameters type: bool default: False
  • enable_log Enable/Disable logging for task type: bool default: False
  • forticloud_access_token Access token of forticloud analyzer API users. type: str
  • log_path 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.logtype: str default: "/tmp/fortianalyzer.ansible.log"
  • version_check If set to True, it will check whether the parameters used are supported by the corresponding version of FortiAnazlyer locally based on FNDN data. A warning will be returned in version_check_warning if there is a mismatch. This warning is only a suggestion and may not be accurate. type: bool default: False
  • rc_succeeded The rc codes list with which the conditions to succeed will be overriden type: list
  • rc_failed The rc codes list with which the conditions to fail will be overriden type: list
  • dvm_cmd_add_device Add a device to the Device Manager database. type: dict
    • adom Name or ID of the ADOM where the command is to be executed on. type: str more...

      Supported Version Ranges: v6.2.1 -> latest

    • device type: dict more...

      Supported Version Ranges: v6.2.1 -> latest

      • adm_pass add real and promote device. type: str elements: str more...

        Supported Version Ranges: v6.2.1 -> latest

      • adm_usr add real and promote device. type: str more...

        Supported Version Ranges: v6.2.1 -> latest

      • desc available for all operations. type: str more...

        Supported Version Ranges: v6.2.1 -> latest

      • device_action Specify add device operations, or leave blank to add real device: type: str more...

        Supported Version Ranges: v6.2.1 -> latest

      • faz_quota available for all operations. type: int more...

        Supported Version Ranges: v6.2.1 -> latest

      • ip add real device only. Add device will probe with this IP using the log in credential specified. type: str more...

        Supported Version Ranges: v6.2.1 -> latest

      • meta_fields add real and model device. type: str more...

        Supported Version Ranges: v6.2.1 -> latest

      • mgmt_mode add real and model device. type: str choices: [unreg, fmg, faz, fmgfaz] more...

        Supported Version Ranges: v6.2.1 -> latest

      • mr add model device only. type: int more...

        Supported Version Ranges: v6.2.1 -> latest

      • name required for all operations. Unique name for the device. type: str more...

        Supported Version Ranges: v6.2.1 -> latest

      • os_type add model device only. type: str choices: [unknown, fos, fsw, foc, fml, faz, fwb, fch, fct, log, fmg, fsa, fdd, fac] more...

        Supported Version Ranges: v6.2.1 -> latest

      • os_ver add model device only. type: str choices: [unknown, 0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0] more...

        Supported Version Ranges: v6.2.1 -> latest

      • patch add model device only. type: int more...

        Supported Version Ranges: v6.2.1 -> latest

      • platform_str add model device only. Required for determine the platform for VM platforms. type: str more...

        Supported Version Ranges: v6.2.1 -> latest

      • sn add model device only. This attribute will be used to determine the device platform, except for VM platforms, where platform_str is also required. type: str more...

        Supported Version Ranges: v6.2.1 -> latest

    • flags create_task - Create a new task in task manager database. type: list elements: str choices: [none, create_task, nonblocking] more...

      Supported Version Ranges: v6.2.1 -> latest

    • groups type: list of dict more...

      Supported Version Ranges: v6.2.1 -> latest

      • name type: str more...

        Supported Version Ranges: v6.2.1 -> latest

      • vdom type: str more...

        Supported Version Ranges: v6.2.1 -> latest

Notes

Note

  • To create or update an object, use state: present directive.
  • To delete an object, use state: absent directive
  • Normally, running one module can fail when a non-zero rc is returned. you can also override the conditions to fail or succeed with parameters rc_failed and rc_succeeded

Examples

- 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

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:

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

Status

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

Authors

  • Xinwei Du (@dux-fortinet)
  • Maxx Liu (@MaxxLiu22)
  • Link Zheng (@chillancezen)
  • Jie Xue (@JieX19)
  • Frank Shen (@fshen01)
  • Hongbin Lu (@fgtdev-hblu)