【问题标题】:Remove Config Lines on ASA with Ansible使用 Ansible 删除 ASA 上的配置行
【发布时间】:2018-03-23 11:28:57
【问题描述】:

我有一个创建网络对象并设置 ACL 策略的 ansible playbook。它运行良好,但我想创建补充剧本来删除对象及其相关配置,但我不知道处理任务的正确方法。

我可以只使用asa_command 为适当的行发出“否”前缀,但是,这不像“Ansible 方式”,因为它会尝试执行命令,即使它们已经不存在配置。

我看到一些模块有一个state: absent 运算符。但是,asa_ 模块并未表明这是一个选项。

任何建议将不胜感激。

【问题讨论】:

  • 所以我假设我可以使用asa_command 是不正确的。您无法运行配置命令,因为asa_command 在 exec 模式下运行。你也不能从那里运行config t,因为它告诉你应该使用asa_config

标签: ansible asa


【解决方案1】:

从 Ansible 2.4 开始,似乎没有一种干净的方法可以做到这一点。我有一本有效的剧本,但是,我不得不满足于使用asa_config 发出no 命令并为每个剧本输入ignore_errors: yes。至少可以说是不雅的,在某些情况下可能会崩溃。我认为可能有一种方法可以与check_mode: yes 一起使用错误处理。我最初的尝试失败了,因为在将播放结果注册到变量时,我无法使用该变量来解释哪些受影响的主机实际上需要更改,这只是整个播放的通用是/否。

我目前在做什么:

- name: Remove Network Object
  asa_config:
   commands:
    - no object network {{ object_name }}
   provider: "{{ cli }}"
  ignore_errors: yes
  register: dno

【讨论】:

    【解决方案2】:

    我认为有一个state: absent 选项很有意义,因为我认为当前的asa_ 模块没有一种简单的方法可以更有效地做到这一点。 Ansible 团队对问题和 PR 非常敏感,因此我会为此功能提交一份。

    【讨论】:

    • 感谢 Derek,我已将其作为请求提交!
    猜你喜欢
    • 1970-01-01
    • 2017-10-05
    • 2020-04-12
    • 1970-01-01
    • 1970-01-01
    • 2020-10-24
    • 2015-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多