【发布时间】:2021-03-23 20:36:41
【问题描述】:
我正在尝试使用来自 Linux 主机的 Ansible gather_facts 数据作为输入:
"ansible_fibre_channel_wwn": [
"1000e0071bd4d0ed",
"10009440c90f9d85",
"1000e0071bce95f3",
"1000e0071bce95f2",
"1000e0071bd4d0ec",
"10009440c90f9d84"
],
并希望使用上述列表项为新“wwpn”键的字典值创建字典:
fc_initiators: [
{wwpn: '10:00:e0:07:1b:d4:d0:ed'},
{wwpn: '10:00:94:40:c9:0f:9d:85'},
{wwpn: '10:00:e0:07:1b:ce:95:f3'},
{wwpn: '10:00:e0:07:1b:ce:95:f2'},
{wwpn: '10:00:e0:07:1b:d4:d0:ec'},
{wwpn: '10:00:94:40:c9:0f:9d:84'}
]
这个正则表达式似乎足以将初始列表项转换为殖民 WWPN:
"{{ ansible_fibre_channel_wwn |
map('regex_replace', '^(..)(..)(..)(..)(..)(..)(..)(..)$', '\\1:\\2:\\3:\\4:\\5:\\6:\\7:\\8')|list }}"
我不确定从哪里开始列表->字典转换。 非常感谢任何帮助。
谢谢!
【问题讨论】:
标签: ansible