我正在使用gather事實變量從ansible_devices variable獲取大小。對於某些主機我變得"ansible_devices": { "sda"
和少數服務器變得"ansible_devices": { "cciss!c0d0"
。如果密鑰中的特殊字符無法從ansible_devices變量中提取值
問題: -當我使用ansible
變量{{ ansible_devices.sda.size }}
其工作完美。但是當我試圖訪問我的劇本中的的值時,它不會返回任何值,而在json ansible_devices
變量中存在的值。
{
"ansible_devices": {
"cciss!c0d0": {
"holders": [],
"host": "RAID bus controller: Hewlett-Packard Company Smart Array Controller (rev 03)",
"model": "LOGICAL VOLUME",
"partitions": {},
"removable": "0",
"rotational": "1",
"scheduler_mode": "cfq",
"sectors": "143299800",
"sectorsize": "512",
"size": "68.33 GB",
"support_discard": "0",
"vendor": "HP"
}
},
"item": ""
}
這可能是在ansible
變量JSON的關鍵,這就是爲什麼我無法獲取其價值的情況下,特殊字符。
任何人都可以建議我如何在這裏訪問值?
得到這個解決方案這個問題並不涉及到的JavaScript。 – Roopendra
您是否嘗試過解決方案,但您從未提及任何必須解析數據的語言。請在對其他答案進行投票表決之前編輯您的問題。 – turtle
我沒有downvoted sumit。正如我在此添加了一個'ansible'標籤,所以它明顯的問題與'ansible'有關。還有我提到我在一本完美的劇本中面對這個問題。 – Roopendra