首页 > 解决方案 > 如何列出不同域的openstack用户组?

问题描述

我正在与默认域上的管理员帐户连接,并且我正在尝试列出非默认域的所有用户组,但我无法弄清楚如何执行此操作,并且我找不到 list_groups() 等效项在 OpenStack API 文档中。

此代码示例仅返回“管理员”用户所属的组,而不是云中所有用户组的列表。

conn = openstack.connect(cloudname)
pprint(conn.identity.groups())

我希望在 python 代码中完成类似于 cli 命令完成的操作:

openstack group list --domain nonDefault

标签: pythonopenstack

解决方案


使用 larsks 的帮助,在以下位置找到了答案: pprint(list(conn.identity.groups(domain_id=conn.identity.find_domain('mydomain')['id'])))

domain_id= 参数未记录,其中接受的参数只是 **query 没有进一步解释:https ://docs.openstack.org/openstacksdk/latest/user/proxies/identity_v3.html#domain-operations

如果没有 list(),它将仅打印有关生成器/迭代器的信息,而不是项目本身。


推荐阅读