使用Ansible删除ASA上的配置线
我有一个可靠的剧本,可以创建网络对象并设置ACL策略。它运行良好,但我想创建补充剧本来删除对象及其相关配置,但我不知道处理任务的正确方法。使用Ansible删除ASA上的配置线
我只能用asa_command
为适当的行发出'no'前缀,但是,它不像'Ansible Way'那样感觉像是因为它会尝试执行命令,即使它们已经不在配置。
我看到一些模块有一个state: absent
操作符。但是,asa_
模块不会将此指定为选项。
任何建议将不胜感激。
我认为有一个state: absent
选项使得有很大的意义,因为我不认为这是与当前asa_
模块更有效地这样做的一个简单的方法。 Ansible团队对问题和PR非常敏感,所以我会为此功能提交一个。
谢谢Derek,我已经提交了这个请求! –
看起来好像Ansible 2.4没有一个干净的方法来做到这一点。我有一个工作剧本,但是,我必须解决发行no
命令使用asa_config
和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
所以我的假设,我可以用'asa_command'是不正确的。你不能运行配置命令,因为'asa_command'在exec模式下运行。你也不能从那里运行'config t',因为它告诉你应该使用'asa_config'来代替。 –