From cd501f3611a2f1ff6e7449a6c3f2a3dabd81cf30 Mon Sep 17 00:00:00 2001 From: "arashi.li" Date: Sun, 26 Apr 2026 21:27:30 +0800 Subject: [PATCH] feat(openstack): support return raw page for secGroup rule, let user handle it Signed-off-by: arashi.li --- pkg/openstack/v2/network.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pkg/openstack/v2/network.go b/pkg/openstack/v2/network.go index 35d5d6a..ec929b4 100644 --- a/pkg/openstack/v2/network.go +++ b/pkg/openstack/v2/network.go @@ -22,6 +22,7 @@ import ( "github.com/gophercloud/gophercloud/v2/openstack/networking/v2/ports" "github.com/gophercloud/gophercloud/v2/openstack/networking/v2/subnets" "github.com/gophercloud/gophercloud/v2/openstack/sharedfilesystems/v2/sharenetworks" + "github.com/gophercloud/gophercloud/v2/pagination" ) func (h *Helper) ListNetworks(opts networks.ListOptsBuilder) ([]networks.Network, error) { @@ -241,6 +242,18 @@ func (h *Helper) ListSecurityGroups(opts groups.ListOpts) ([]groups.SecGroup, er return groups.ExtractGroups(pages) } +func (h *Helper) ListSecurityGroupRulesPage(opts rules.ListOpts) (pagination.Page, error) { + ctx, cancel := context.WithTimeout(wait.CtxSeconds(30)) + defer cancel() + + pages, err := rules.List(h.Network, opts).AllPages(ctx) + if err != nil { + return nil, err + } + + return pages, nil +} + func (h *Helper) CreateSecurityGroup(opts groups.CreateOpts) (*groups.SecGroup, error) { ctx, cancel := context.WithTimeout(wait.CtxSeconds(30)) defer cancel()