从Ansible Tower REST API获取请求以获取用户角色后,请检查其API文档,确定的步骤为:
1. get user id by email: /api/v2/users?email=xxx
2. get the user's roles: /api/v2/users/{id}/roles
它有效,它返回用户在Ansible Tower中拥有的所有角色,包括他在所有组织中的所有角色。因此,还有一件事是按特定组织筛选角色。卡在这里,迷上了api……在角色API文档中,它说:
"search_fields": [
"role_field",
"content_type__model"
],
"related_search_fields": [
"children__search",
"parents__search",
"descendents__search",
"content_type__search",
"ancestors__search"
],
对上面的搜索字段和相关搜索字段感到困惑,无法将它们链接到角色输出
{
"id": 11,
"type": "role",
"url": "/api/v2/roles/11/",
"related": {
"users": "/api/v2/roles/11/users/",
"teams": "/api/v2/roles/11/teams/",
"organization": "/api/v2/organizations/1/"
},
"summary_fields": {
"resource_name": "Default",
"resource_type": "organization",
"resource_type_display_name": "Organization"
},
"name": "Member",
"description": "User is a member of the organization"
}
无法按/ api / v2 / roles之类的相关字段进行搜索?organization__name = xxx,说“角色没有名为'organization'的字段” 我什至无法通过/ api / v2 / roles?name = xxx按名称搜索角色,说“角色没有名为'name'的字段”
请帮助我了解Ansible Tower API的搜索字段和相关搜索字段... 是否可以按组织搜索角色,还是必须通过某种肮脏的方式来完成,例如检查summary_fields中的“ resource_name”?
谢谢!