我正在尝试为Cisco IOS设备创建Ansible剧本,以检查设备上是否存在本地用户帐户。如果存在,则不执行任何操作,但如果不存在,请添加。
下面是我所拥有的,但是我需要条件检查的帮助,即检查寄存器值的最佳方法是什么,如果其中存在rsitadmin,则什么也不做,否则将此命令发送给设备用户名{{user}} secret {{pass}}。
如果缺少缺少的内容,请添加RSITADMIN任务不起作用,但是是我要检查的内容的摘要。
我也使用src参数尝试了这个jinja模板,但没有帮助。
{% if 'rsitadmin' in ACCOUNT %}
{% else %}
username {{user}} secret {{pass}}
{% endif %}
---
- name: Add RSITADMIN Account if missing
hosts: LAB
vars_files:
- rsitadmin.yml
gather_facts: false
connection: local
tasks:
- name: Check if RSITADMIN account exist
ios_command:
commands: sh run | s username rsitadmin
register: ACCOUNT
- name: Print RSITADMIN account details
debug:
var=ACCOUNT.stdout
- name: Add RSITADMIN if missing
ios_config:
lines: username {{user}} secret {{pass}}
when: "'rsitadmin' in ACCOUNT"
这帮了我大忙:
- name: Configure RSITADMIN Account on devices its missing
ios_config:
lines:
- username {{user}} secret {{pass}}
save_when: changed
when: ACCOUNT.stdout[0] is not search ("username rsitadmin")