func getSecurityGroupRules(client *gophercloud.ServiceClient, opts rules.ListOpts) ([]rules.SecGroupRule, error) { pager := rules.List(client, opts) var securityRules []rules.SecGroupRule err := pager.EachPage(func(page pagination.Page) (bool, error) { ruleList, err := rules.ExtractRules(page) if err != nil { return false, err } securityRules = append(securityRules, ruleList...) return true, nil }) if err != nil { return nil, err } return securityRules, nil }
// List returns a Pager which allows you to iterate over a collection of // security group rules. It accepts a ListOpts struct, which allows you to filter // and sort the returned collection for greater efficiency. func List(c *gophercloud.ServiceClient, opts os.ListOpts) pagination.Pager { return os.List(c, opts) }