fortinet.fortimanager.fmgr_securityconsole_install_package 模块 – 将策略包复制并安装到设备。

注意

此模块是 fortinet.fortimanager 集合(版本 2.8.2)的一部分。

如果您使用的是 ansible 包,您可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install fortinet.fortimanager

要在 playbook 中使用它,请指定:fortinet.fortimanager.fmgr_securityconsole_install_package

fortinet.fortimanager 1.0.0 中的新增功能

概要

  • 此模块能够配置 FortiManager 设备。

  • 示例包括在使用前需要调整为数据源的所有参数和值。

参数

参数

注释

access_token

字符串

无需使用用户名和密码即可访问 FortiManager 的令牌。

bypass_validation

布尔值

仅当模块模式与 FortiManager API 结构不同时才设置为 True,模块将继续执行而不验证参数。

选项

  • false ← (默认)

  • true

enable_log

布尔值

启用/禁用任务的日志记录。

选项

  • false ← (默认)

  • true

forticloud_access_token

字符串

使用 FortiCloud API 访问令牌验证 Ansible 客户端。

rc_failed

列表 / 元素=整数

将覆盖失败条件的 rc 代码列表。

rc_succeeded

列表 / 元素=整数

将覆盖成功条件的 rc 代码列表。

securityconsole_install_package

字典

顶级参数集。

adom

字符串

源 ADOM 名称。

adom_rev_comments

字符串

如果设置了 generate_rev 标志,则为新 ADOM 修订的注释。

adom_rev_name

字符串

如果设置了 generate_rev 标志,则为新 ADOM 修订的名称。

dev_rev_comments

字符串

设备配置修订的注释,该修订将在安装期间生成。

flags

列表 / 元素=字符串

cp_all_objs - 在全局策略分配期间分配所有对象。

preview - 仅生成预览缓存。

generate_rev - 在安装之前生成新的 ADOM 修订。

copy_assigned_pkg - 对于全局策略分配 - 将分配的包从 ADOM 复制到设备。

unassign - 从 ADOM 中删除全局策略。

ifpolicy_only - 仅安装接口策略。

no_ifpolicy - 仅安装常规策略 - 不安装接口策略。

objs_only - 安装对象

auto_lock_ws - 执行安全控制台任务时自动锁定和解锁工作区。

copy_only - 仅复制到设备数据库。

选项

  • "none"

  • "cp_all_objs"

  • "preview"

  • "generate_rev"

  • "copy_assigned_pkg"

  • "unassign"

  • "ifpolicy_only"

  • "no_ifpolicy"

  • "objs_only"

  • "auto_lock_ws"

  • "check_pkg_st"

  • "copy_only"

pkg

字符串

源包路径和名称。

scope

列表 / 元素=字典

范围。

name

字符串

名称。

vdom

字符串

虚拟域。

workspace_locking_adom

字符串

在工作区模式下运行的 FortiManager 要锁定的 ADOM,该值可以是 global 和其他包括 root。

workspace_locking_timeout

整数

等待其他用户释放工作区锁定的最长时间(秒)。

默认值: 300

说明

注意

  • 从 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: Example playbook
  hosts: fortimanagers
  connection: httpapi
  vars:
    ansible_httpapi_use_ssl: true
    ansible_httpapi_validate_certs: false
    ansible_httpapi_port: 443
  tasks:
    - name: Copy and install a policy package to devices.
      fortinet.fortimanager.fmgr_securityconsole_install_package:
        bypass_validation: false
        securityconsole_install_package:
          adom: ansible
          adom_rev_comments: ansible-comment
          adom_rev_name: ansible-test
          dev_rev_comments: ansible-comment
          flags:
            - none
            - cp_all_objs
            - preview
            - generate_rev
            - copy_assigned_pkg
            - unassign
            - ifpolicy_only
            - no_ifpolicy
            - objs_only
            - auto_lock_ws
            - check_pkg_st
            - copy_only
          pkg: ansible
          scope:
            - name: Ansible-test
              vdom: root

- name: INSTALL PREVIEW - POLICY PACKAGE
  hosts: fmg
  connection: httpapi
  vars:
    adom: demo
    ppkg: ppkg_hubs
    device: fgt_00_1
  tasks:
    - name: Install for policy package [preview mode] {{ ppkg }}
      fortinet.fortimanager.fmgr_securityconsole_install_package:
        securityconsole_install_package:
          adom: "{{ adom }}"
          flags:
            - preview
          pkg: "{{ ppkg }}"
          scope:
            - name: "{{ device }}"
              vdom: root
      register: r
    - name: Poll the task
      fortinet.fortimanager.fmgr_fact:
        facts:
          selector: "task_task"
          params:
            task: "{{ r.meta.response_data.task }}"
      register: taskinfo
      until: taskinfo.meta.response_data.percent == 100
      retries: 30
      delay: 5
    - name: Trigger the preview report generation for policy package {{ ppkg }}
      fortinet.fortimanager.fmgr_securityconsole_install_preview:
        securityconsole_install_preview:
          adom: "{{ adom }}"
          device: "{{ device }}"
          flags:
            - json
          vdoms: root
      register: r
    - name: Poll the task
      fortinet.fortimanager.fmgr_fact:
        facts:
          selector: "task_task"
          params:
            task: "{{ r.meta.response_data.task }}"
      register: taskinfo
      until: taskinfo.meta.response_data.percent == 100
      retries: 30
      delay: 5
    - name: Get the preview report for policy package {{ ppkg }}
      fortinet.fortimanager.fmgr_securityconsole_preview_result:
        securityconsole_preview_result:
          adom: "{{ adom }}"
          device: "{{ device }}"
      register: r
    - name: Cancel install task for policy package {{ ppkg }}
      fortinet.fortimanager.fmgr_securityconsole_package_cancel_install:
        securityconsole_package_cancel_install:
          adom: "{{ adom }}"
    - name: Show preview report
      ansible.builtin.debug:
        msg: "{{ r }}"

返回值

常见的返回值记录在 此处,以下是此模块特有的字段

描述

meta

字典

请求的结果。

返回: 始终

request_url

字符串

请求的完整 URL。

返回: 始终

示例: "/sys/login/user"

response_code

整数

API 请求的状态。

返回: 始终

示例: 0

response_data

列表 / 元素=字符串

API 响应。

返回: 始终

response_message

字符串

API 响应的描述性消息。

返回: 始终

示例: "OK."

system_information

字典

目标系统的信息。

返回: 始终

rc

整数

请求的状态。

返回: 始终

示例: 0

version_check_warning

列表 / 元素=字符串

如果 playbook 中使用的参数不受当前 FortiManager 版本支持,则会发出警告。

返回: 复杂

作者

  • 杜新伟 (@dux-fortinet)

  • 李星 (@lix-fortinet)

  • 薛杰 (@JieX19)

  • 郑 লিংক (@chillancezen)

  • 沈 Frank (@fshen01)

  • 陆洪斌 (@fgtdev-hblu)