github.com/chnsz/golangsdk@v0.0.0-20240506093406-85a3fbfa605b/openstack/vpn/v5/connections/requests.go (about) 1 package connections 2 3 import ( 4 "github.com/chnsz/golangsdk" 5 "github.com/chnsz/golangsdk/pagination" 6 ) 7 8 type ListOpts struct { 9 Limit int `q:"limit"` 10 Marker string `q:"marker"` 11 } 12 13 func List(c *golangsdk.ServiceClient, opts ListOpts) ([]Connections, error) { 14 url := listURL(c) 15 query, err := golangsdk.BuildQueryString(opts) 16 if err != nil { 17 return nil, err 18 } 19 url += query.String() 20 21 pages, err := pagination.NewPager(c, url, func(r pagination.PageResult) pagination.Page { 22 p := ConnectionsPage{pagination.MarkerPageBase{PageResult: r}} 23 p.MarkerPageBase.Owner = p 24 return p 25 }).AllPages() 26 27 if err != nil { 28 return nil, err 29 } 30 return extractConnections(pages) 31 }