我使用 「with_file」 解決了這個問題,登記item.results [0] .item的內容和它推到設備象下面這樣:
- name: Looping file
debug:
msg: "{{ item }}"
register: items
with_file:
- ~/ANSIBLE/{{ inventory_hostname }}.cfg
- debug: var=items.results[0].item
- name: Applying The Shutdown Template
ios_config:
lines:
- "{{ items.results[0].item }}"
provider: "{{cli}}"
register: shut
運行劇本:
TASK [Looping file] *******************************************************************************************************************************
ok: [169.255.0.1] => (item=interface FastEthernet1/0
shutdown
interface FastEthernet1/1
shutdown
interface FastEthernet1/3
shutdown
interface FastEthernet1/4
shutdown
interface FastEthernet1/5
shutdown
interface FastEthernet1/6
shutdown) => {
"item": "interface FastEthernet1/0 \nshutdown\ninterface FastEthernet1/1 \nshutdown\ninterface FastEthernet1/3 \nshutdown\ninterface FastEthernet1/4 \nshutdown\ninterface FastEthernet1/5 \nshutdown\ninterface FastEthernet1/6 \nshutdown",
"msg": "interface FastEthernet1/0 \nshutdown\ninterface FastEthernet1/1 \nshutdown\ninterface FastEthernet1/3 \nshutdown\ninterface FastEthernet1/4 \nshutdown\ninterface FastEthernet1/5 \nshutdown\ninterface FastEthernet1/6 \nshutdown"
}
TASK [debug] **************************************************************************************************************************************
ok: [169.255.0.1] => {
"items.results[0].item": "interface FastEthernet1/0 \nshutdown\ninterface FastEthernet1/1 \nshutdown\ninterface FastEthernet1/3 \nshutdown\ninterface FastEthernet1/4 \nshutdown\ninterface FastEthernet1/5 \nshutdown\ninterface FastEthernet1/6 \nshutdown"
}
TASK [Applying The Shutdown Template] *************************************************************************************************************
changed: [169.255.0.1]
TASK [debug] **************************************************************************************************************************************
ok: [169.255.0.1] => {
"shut1": {
"banners": {},
"changed": true,
"commands": [
"interface FastEthernet1/0 ",
"shutdown",
"interface FastEthernet1/1 ",
"shutdown",
"interface FastEthernet1/3 ",
"shutdown",
"interface FastEthernet1/4 ",
"shutdown",
"interface FastEthernet1/5 ",
"shutdown",
"interface FastEthernet1/6 ",
"shutdown"
],
"updates": [
"interface FastEthernet1/0 ",
"shutdown",
"interface FastEthernet1/1 ",
"shutdown",
"interface FastEthernet1/3 ",
"shutdown",
"interface FastEthernet1/4 ",
"shutdown",
"interface FastEthernet1/5 ",
"shutdown",
"interface FastEthernet1/6 ",
"shutdown"
]
}
}
PLAY RECAP ****************************************************************************************************************************************
169.255.0.1 : ok=4 changed=1 unreachable=0 failed=0
你需要捕獲文件嗎?迭代接口並在不首先創建文件的情況下關閉它們就足夠了嗎?你打算關閉包括Vlan1在內的所有接口嗎? – jscott
@jscott確實如此。這是必要的,因爲在關閉接口之後,我應該在經過很多測試後再使用另一個劇本。 output.log將像新的「輸入」一樣執行新任務來運行「no shutdown」命令。 –