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()