我正在利用用于 OpenStack 的 Neutron Python API 尝试使用neutron.list_floatingips()方法过滤特定的浮动 IP。本质上,我试图模仿这种行为:
$ neutron floatingip-list --tenant-id xxx | grep 15.xxx.xx.xx
| 4ec7639a-47ca-40a8-8cd9-7bc5272f666f | 10.0.0.15 | 15.xxx.xx.xx | 64994354-4921-48ce-b819-d34d194c631c |
问题是在执行对 API 的调用时:
>>> neutron.list_floatingips().get('floatingips')
当只需要返回一个特定的 IP 时,它将返回一个包含租户下所有浮动 IP 的字典对象。我尝试(以几种不同的方式)过滤结果,如下所示:
>>> neutron.list_floatingips(filter_value={'floating_ip_address': '15.xxx.xx.xx'}).get('floatingips')
它仍然返回与不包含参数时相同的结果。所以我的问题是,为了过滤这个特定值,预期的论点是什么?
我知道我可能会过滤结果字典值;但是,我试图避免让 API 返回不必要的结果。