From 68ca3fb986e066638a46429f2b3a7946185396d5 Mon Sep 17 00:00:00 2001 From: "arashi.li" Date: Sun, 26 Apr 2026 18:28:59 +0800 Subject: [PATCH] feat(openstack): support list role assignments Signed-off-by: arashi.li --- pkg/openstack/v2/role.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pkg/openstack/v2/role.go b/pkg/openstack/v2/role.go index 8e1b10e..c547e38 100644 --- a/pkg/openstack/v2/role.go +++ b/pkg/openstack/v2/role.go @@ -47,3 +47,15 @@ func (h *Helper) AssignRoleToUser(roleID string, opts roles.AssignOpts) error { defer cancel() return roles.Assign(ctx, h.Identity, roleID, opts).ExtractErr() } + +func (h *Helper) ListRoleAssignments(opts *roles.ListAssignmentsOpts) ([]roles.RoleAssignment, error) { + ctx, cancel := context.WithTimeout(wait.CtxSeconds(30)) + defer cancel() + + pages, err := roles.ListAssignments(h.Identity, opts).AllPages(ctx) + if err != nil { + return nil, err + } + + return roles.ExtractRoleAssignments(pages) +}