我想滚动这个ansible_facts变量的输出,直到找到磁盘大小值C:\使用ansible属性选择,有人能帮我吗
似乎字符串中的某些内容正在转义并在搜索中生成错误
退出ansible\u事实:
ok: [192.168.56.103] => {
"ansible_facts.disks": [
{
"bootable": true,
"bus_type": "SATA",
"clustered": false,
"firmware_version": "1.0",
"friendly_name": "VBOX HARDDISK",
"guid": null,
"location": "Integrated : Adapter 0 : Port 0",
"manufacturer": null,
"model": "VBOX HARDDISK",
"number": 0,
"operational_status": "Online",
"partition_count": 2,
"partition_style": "MBR",
"partitions": [
{
"access_paths": [
"C:\\",
"\\\\?\\Volume{e98535da-0000-0000-0000-501f00000000}\\"
],
"active": false,
"drive_letter": "C",
"guid": null,
"hidden": false,
"mbr_type": 7,
"number": 2,
"offset": 525336576,
"shadow_copy": false,
"size": 53160706048,
"transition_state": 1,
"type": "IFS"
}
]
}
我的尝试
test : '{{ ansible_facts.disks | selectattr("partitions.drive_letter", "search", "^C$")| map(attribute="size") | list }}'
输出
"VARIABLE IS NOT DEFINED!"
我不知道
selectattr
过滤器,但我使用json_query
管理它:给出此输出:
看起来在原始列表中仍然有几个级别,但它在那里。您可以通过使用
c_size[0][0]
或c_size.0.0
来消除这种情况。当然,您可以使用另一个set_fact
将c_size.0.0
赋值给另一个变量相关问题 更多 >
编程相关推荐