fortinet.fortimanager.fmgr_dvm_cmd_add_device 模块 – 将设备添加到设备管理器数据库。
注意
此模块是 fortinet.fortimanager 集合 (版本 2.8.2) 的一部分。
如果您使用的是 ansible
包,则可能已安装此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用: ansible-galaxy collection install fortinet.fortimanager
。
要在剧本中使用它,请指定: fortinet.fortimanager.fmgr_dvm_cmd_add_device
。
fortinet.fortimanager 1.0.0 中的新增功能
概要
此模块能够配置 FortiManager 设备。
示例包括所有需要在使用前调整为数据源的参数和值。
参数
参数 |
注释 |
---|---|
无需使用用户名和密码即可访问 FortiManager 的令牌。 |
|
仅当模块模式与 FortiManager API 结构不同时设置为 True,模块将继续执行而无需验证参数。 选项
|
|
设置的顶级参数。 |
|
要在其上执行命令的 ADOM 的名称或 ID。 |
|
设备。 |
|
(列表) 添加真实设备并提升设备。 |
|
添加真实设备并提升设备。 |
|
仅添加模型设备。 |
|
适用于所有操作。 |
|
指定添加设备操作,或留空以添加真实设备 add_model - 添加模型设备。 promote_unreg - 使用数据库中的信息将未注册的设备提升为由 FortiManager 管理。 |
|
仅添加模型设备。 |
|
适用于所有操作。 |
|
仅添加真实设备。 |
|
(字典或字符串) 元字段。 |
|
添加真实设备和模型设备。 选项
|
|
仅添加模型设备。 |
|
所有操作都需要。 |
|
仅添加模型设备。 选项
|
|
仅添加模型设备。 选项
|
|
仅添加模型设备。 |
|
仅添加模型设备。 |
|
仅添加模型设备。 |
|
create_task - 在任务管理器数据库中创建一个新任务。 nonblocking - API 将立即返回非阻塞调用。 选项
|
|
组。 |
|
名称。 |
|
Vdom。 |
|
启用/禁用任务日志记录。 选项
|
|
使用 forticloud API 访问令牌对 Ansible 客户端进行身份验证。 |
|
将被覆盖的失败条件的 rc 代码列表。 |
|
将被覆盖的成功条件的 rc 代码列表。 |
|
在工作区模式下运行 FortiManager 时要锁定的 adom,该值可以是全局的和其他值,包括 root。 |
|
等待其他用户释放工作区锁的最大时间(秒)。 默认: |
注释
注意
从 2.4.0 版本开始,所有输入参数都使用下划线命名约定 (snake_case)。请将诸如“var-name”之类的参数更改为“var_name”。旧的参数名称仍然可用,但您将收到弃用警告。您可以通过在 ansible.cfg 中设置 deprecation_warnings=False 来忽略此警告。
此 FortiManager 模块支持在工作区锁定模式下运行,顶级参数 workspace_locking_adom 和 workspace_locking_timeout 有助于完成这项工作。
通常,当返回非零 rc 时,运行一个模块可能会失败。您还可以使用参数 rc_failed 和 rc_succeeded 覆盖失败或成功的条件。
示例
- name: Add a FOS device to FMG
hosts: fortimanagers
gather_facts: false
connection: httpapi
vars:
ansible_httpapi_use_ssl: true
ansible_httpapi_validate_certs: false
ansible_httpapi_port: 443
fos_user: "admin"
fos_pass: "password"
fos_ip: "192.168.190.151"
tasks:
- name: Discover device
fortinet.fortimanager.fmgr_dvm_cmd_discover_device:
bypass_validation: true
dvm_cmd_discover_device:
device:
adm_pass: "{{ fos_pass }}"
adm_usr: "{{ fos_user }}"
ip: "{{ fos_ip }}"
register: probed_device
- name: Add device
fortinet.fortimanager.fmgr_dvm_cmd_add_device:
bypass_validation: true
dvm_cmd_add_device:
adom: "root"
flags:
- "create_task"
- "nonblocking"
device:
adm_usr: "{{ probed_device.meta.response_data.device.adm_usr }}"
adm_pass: "{{ probed_device.meta.response_data.device.adm_pass }}"
desc: "The device is added via FortiManager Ansible"
ip: "{{ probed_device.meta.response_data.device.ip }}"
mgmt_mode: "fmg"
name: "{{ probed_device.meta.response_data.device.name }}"
sn: "{{ probed_device.meta.response_data.device.sn }}"
register: installing_task
- name: Poll the task
fortinet.fortimanager.fmgr_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
- name: Example playbook
hosts: fortimanagers
connection: httpapi
vars:
ansible_httpapi_use_ssl: true
ansible_httpapi_validate_certs: false
ansible_httpapi_port: 443
tasks:
- name: Add a device to the Device Manager database.
fortinet.fortimanager.fmgr_dvm_cmd_add_device:
bypass_validation: false
dvm_cmd_add_device:
adom: ansible
device:
adm_pass: fortinet # device password
adm_usr: admin # device user name
ip: 0.0.0.0 # device ip
mgmt_mode: fmg # <value in [unreg, fmg, faz, ...]>
name: FGT_AWS
flags:
- none
- create_task
- nonblocking
- log_dev
返回值
常用返回值已在 此处 记录,以下是此模块特有的字段
键 |
描述 |
---|---|
请求的结果。 返回: 始终 |
|
请求的完整 URL。 返回: 始终 示例: |
|
API 请求的状态。 返回: 始终 示例: |
|
API 响应。 返回: 始终 |
|
API 响应的描述性消息。 返回: 始终 示例: |
|
目标系统的信息。 返回: 始终 |
|
请求的状态。 返回: 始终 示例: |
|
如果剧本中使用的参数不受当前 FortiManager 版本支持,则会发出警告。 返回: 复杂 |