尝试编写一个 ansible-playbook 来查询交换机端口描述,将其注册为变量,然后重新应用它并添加文本和日期/时间。
- name: Verifying Interface Description
ios_command:
provider:
username: "{{ username }}"
password: "{{ password }}"
commands:
- command: "show derived-config interface GigabitEthernet{{ switch_interface }} | include description"
register: interface_description
- debug:
msg:
"{{ interface_description }} Updated {{ ansible_date_time.date }}"
但是当我运行剧本时我得到的值是:
TASK [debug] *************************************************************************************************************************************************************************************************
ok: [NG-1-DA] => {
"msg": "{'failed': False, u'changed': False, u'stdout_lines': [[u'description DataJack123']], u'stdout': [u'description DataJack123']} Updated 2024-04-23"
}
文本和日期/时间有效,但由于某种原因,对界面描述的引用失败,我似乎无法弄清楚为什么。
我不确定我是否理解与 interface_description 变量相关的错误消息以及引用失败的原因。
我在这篇文章中找到了答案 - Ansible Print IOS output on string match
我必须使用 {{ interface_description.stdout_lines | join(" ") }} 将其转回字符串,因为它以前是列表值。