cisco.aci.aci_config_rollback 模块 – 提供回滚和回滚预览功能 (config:ImportP)

注意

此模块是 cisco.aci 集合 (版本 2.10.1) 的一部分。

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

要安装它,请使用: ansible-galaxy collection install cisco.aci

要在 playbook 中使用它,请指定: cisco.aci.aci_config_rollback

概要

  • 提供用于 Cisco ACI 结构的回滚和回滚预览功能。

  • 配置回滚使用快照 aci_snapshot 和 configImportP 类完成。

参数

参数

注释

annotation

字符串

用于注释对象的自定义字符串。

如果任务中未指定值,则将改为使用环境变量 ACI_ANNOTATION 的值。

如果任务和环境变量 ACI_ANNOTATION 中均未指定值,则将使用默认值。

默认值: "orchestrator:ansible"

certificate_name

别名:cert_name

字符串

附加到用于基于签名的身份验证的 APIC AAA 用户的 X.509 证书名称。

如果提供了 private_key 文件名,则默认为 private_key 基名(无扩展名)。

如果为 private_key 提供了 PEM 格式的内容,则默认为 username 值。

如果任务中未指定值,则将改为使用环境变量 ACI_CERTIFICATE_NAME 的值。

compare_export_policy

字符串

compare_snapshot 关联到的导出策略。

compare_snapshot

字符串

要与 snapshot 进行比较的快照的名称。

description

别名:descr

字符串

导入策略的描述。

export_policy

字符串

snapshot 关联到的导出策略。

fail_on_decrypt

布尔值

确定如果 APIC 无法解密安全数据,是否应使回滚失败。

未设置时,APIC 默认值为 true

选项

  • false

  • true

host

别名:hostname

字符串

Ansible 控制主机可解析的 APIC 的 IP 地址或主机名。

如果任务中未指定值,则将改为使用环境变量 ACI_HOST 的值。

import_mode

字符串

确定 APIC 如何处理导入。

未设置时,APIC 默认值为 atomic

选项

  • "atomic"

  • "best-effort"

import_policy

字符串

用于配置回滚的导入策略的名称。

import_type

字符串

确定如何比较当前配置和快照配置以进行替换。

未设置时,APIC 默认值为 replace

选项

  • "merge"

  • "replace"

output_level

字符串

影响此 ACI 模块的输出。

normal 表示标准输出,包括 current 字典

info 添加信息输出,包括 previousproposedsent 字典

debug 添加调试输出,包括 filter_stringmethodresponsestatusurl 信息

如果任务中未指定值,则将改为使用环境变量 ACI_OUTPUT_LEVEL 的值。

选项

  • “调试”

  • “信息”

  • "normal" ← (默认)

output_path

字符串

模块生成的 ACI JSON 配置对象的转储文件路径。

如果任务中未指定该值,则将使用环境变量 ACI_OUTPUT_PATH 的值。

password

字符串

用于身份验证的密码。

此选项与 private_key 互斥。如果也提供了 private_key,则将优先使用它。

如果任务中未指定该值,则将使用环境变量 ACI_PASSWORDANSIBLE_NET_PASSWORD 的值。

port

整数

用于 REST 连接的端口号。

默认值取决于参数 use_ssl

如果任务中未指定该值,则将使用环境变量 ACI_PORT 的值。

private_key

别名:cert_key

字符串

PEM 格式的私钥文件或用于基于签名的身份验证的私钥内容。

此值还会影响使用的默认 certificate_name

此选项与 password 互斥。如果也提供了 password,则将忽略它。

如果任务中未指定该值,则将使用环境变量 ACI_PRIVATE_KEYANSIBLE_NET_SSH_KEYFILE 的值。

snapshot

字符串 / 必填

要回滚到的快照名称,或用于比较的基础快照。

可以使用 aci_snapshot 模块查询可用的快照列表。

state

字符串

使用 preview 预览两个快照之间的差异。

使用 rollback 将配置还原到之前的快照。

选项

  • “预览”

  • "rollback" ← (默认)

suppress_previous

别名:no_previous, ignore_previous

布尔值

如果为 true,则在向 APIC 发送 POST 更新之前,不会发送 GET 请求来检查之前的状态。

如果任务中未指定该值,则将使用环境变量 ACI_SUPPRESS_PREVIOUS 的值。

默认值为 false

警告 - 这会导致之前的返回值为空。

不会检查对象的先前状态,并且 POST 更新将包含所有属性。

选项

  • false

  • true

suppress_verification

别名:no_verification, no_verify, suppress_verify, ignore_verify, ignore_verification

布尔值

如果为 true,则在向 APIC 发送 POST 更新后,不会发送验证性 GET 请求。

如果任务中未指定该值,则将使用环境变量 ACI_SUPPRESS_VERIFICATION 的值。

默认值为 false

警告 - 这会导致当前返回值设置为建议值。

包含默认值的当前对象在一个任务中将无法验证。

选项

  • false

  • true

timeout

整数

以秒为单位的套接字级别超时。

如果任务中未指定该值,则将使用环境变量 ACI_TIMEOUT 的值。

默认值为 30。

use_proxy

布尔值

如果为 false,即使目标主机上的环境变量中定义了代理,也不会使用代理。

如果任务中未指定该值,则将使用环境变量 ACI_USE_PROXY 的值。

默认值为 true。

选项

  • false

  • true

use_ssl

布尔值

如果为 false,将使用 HTTP 连接而不是默认的 HTTPS 连接。

如果任务中未指定该值,则将使用环境变量 ACI_USE_SSL 的值。

当连接为本地连接时,默认值为 true。

选项

  • false

  • true

username

别名:user

字符串

用于身份验证的用户名。

如果任务中未指定该值,则将使用环境变量 ACI_USERNAMEANSIBLE_NET_USERNAME 的值。

默认值为 admin。

validate_certs

布尔值

如果为 false,则不会验证 SSL 证书。

仅当在使用自签名证书的个人控制站点上使用时,才应将其设置为 false

如果任务中未指定该值,则将使用环境变量 ACI_VALIDATE_CERTS 的值。

默认值为 true。

选项

  • false

  • true

备注

注意

  • 强烈建议在创建快照后添加暂停任务。

  • 等待快照完成,然后再查询、比较快照或处理回滚。

另请参阅

另请参阅

cisco.aci.aci_config_snapshot

管理配置快照 (config:Snapshot 和 config:ExportP)。

APIC 管理信息模型参考

有关内部 APIC 类 config:ImportP 的更多信息。

Cisco ACI 指南

有关如何使用 Ansible 管理 ACI 基础架构的详细信息。

开发 Cisco ACI 模块

有关如何编写自己的 Cisco ACI 模块以进行贡献的详细指南。

示例

---
- name: Create a Snapshot
  cisco.aci.aci_config_snapshot:
    host: apic
    username: admin
    password: SomeSecretPassword
    export_policy: config_backup
    state: present
  delegate_to: localhost

- name: Wait for snapshot to be finished before querying
  pause:
    seconds: 10

- name: Query Existing Snapshots
  cisco.aci.aci_config_snapshot:
    host: apic
    username: admin
    password: SomeSecretPassword
    export_policy: config_backup
    state: query
  delegate_to: localhost

- name: Compare Snapshot Files
  cisco.aci.aci_config_rollback:
    host: apic
    username: admin
    password: SomeSecretPassword
    export_policy: config_backup
    snapshot: run-2017-08-28T06-24-01
    compare_export_policy: config_backup
    compare_snapshot: run-2017-08-27T23-43-56
    state: preview
  delegate_to: localhost

- name: Rollback Configuration
  cisco.aci.aci_config_rollback:
    host: apic
    username: admin
    password: SomeSecretPassword
    import_policy: rollback_config
    export_policy: config_backup
    snapshot: run-2017-08-28T06-24-01
    state: rollback
  delegate_to: localhost

- name: Rollback Configuration
  cisco.aci.aci_config_rollback:
    host: apic
    username: admin
    password: SomeSecretPassword
    import_policy: rollback_config
    export_policy: config_backup
    snapshot: run-2017-08-28T06-24-01
    description: Rollback 8-27 changes
    import_mode: atomic
    import_type: replace
    fail_on_decrypt: true
    state: rollback
  delegate_to: localhost

返回值

公共返回值已记录在 此处,以下是此模块独有的字段

描述

error

字典

APIC 返回的错误信息

返回:失败

示例:{"code": "122", "text": "unknown managed object class foo"}

filter_string

字符串

用于请求的过滤器字符串

返回:失败或调试

示例:"?rsp-prop-include=config-only"

method

字符串

用于向 APIC 发送请求的 HTTP 方法

返回:失败或调试

示例:"POST"

preview

字符串

两个快照之间的预览

返回:当 state 为 preview 时

raw

字符串

APIC REST API 返回的原始输出 (xml 或 json)

返回:解析错误

示例:"<?xml version=\"1.0\" encoding=\"UTF-8\"?><imdata totalCount=\"1\"><error code=\"122\" text=\"unknown managed object class foo\"/></imdata>"

response

字符串

来自 APIC 的 HTTP 响应

返回:失败或调试

示例:"OK (30 bytes)"

status

整数

来自 APIC 的 HTTP 状态

返回:失败或调试

示例:200

url

字符串

用于向 APIC 发送请求的 HTTP url

返回:失败或调试

示例:"https://10.11.12.13/api/mo/uni/tn-production.json"

作者

  • Jacob McGill (@jmcgill298)

  • Gaspard Micol (@gmicol)