github.com/chnsz/golangsdk@v0.0.0-20240506093406-85a3fbfa605b/openstack/rms/v1/resources/requests.go (about) 1 package resources 2 3 import ( 4 "github.com/chnsz/golangsdk" 5 "github.com/chnsz/golangsdk/pagination" 6 ) 7 8 type ListOpts struct { 9 Region string `q:"region_id"` 10 EnterpriseProjectId string `q:"ep_id"` 11 // provider.type 12 Type string `q:"type"` 13 // min:1 14 // max:200 15 Limit int `q:"limit"` 16 // min:4 17 // max:400 18 Marker string `q:"marker"` 19 } 20 21 var RequestOpts = golangsdk.RequestOpts{ 22 MoreHeaders: map[string]string{"Content-Type": "application/json", "X-Language": "en-us"}, 23 } 24 25 func List(c *golangsdk.ServiceClient, opts ListOpts) pagination.Pager { 26 url := listURL(c) 27 28 query, err := golangsdk.BuildQueryString(opts) 29 if err != nil { 30 return pagination.Pager{Err: err} 31 } 32 url += query.String() 33 34 return pagination.NewPager(c, url, func(r pagination.PageResult) pagination.Page { 35 p := ResourcePage{pagination.MarkerPageBase{PageResult: r}} 36 p.MarkerPageBase.Owner = p 37 return p 38 }) 39 }