github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/openstack/fgs/v2/alias/ListVersion.go (about) 1 package alias 2 3 import ( 4 golangsdk "github.com/opentelekomcloud/gophertelekomcloud" 5 "github.com/opentelekomcloud/gophertelekomcloud/internal/extract" 6 "github.com/opentelekomcloud/gophertelekomcloud/openstack/fgs/v2/function" 7 ) 8 9 type ListVersionOpts struct { 10 FuncUrn string `q:"-"` 11 Marker string `q:"marker,omitempty"` 12 Maxitems string `q:"maxitems,omitempty"` 13 } 14 15 func ListVersion(client *golangsdk.ServiceClient, opts ListVersionOpts) (*ListVersionResponse, error) { 16 url, err := golangsdk.NewURLBuilder().WithEndpoints("fgs", "functions", opts.FuncUrn, "versions").WithQueryParams(&opts).Build() 17 if err != nil { 18 return nil, err 19 } 20 21 raw, err := client.Get(client.ServiceURL(url.String()), nil, nil) 22 if err != nil { 23 return nil, err 24 } 25 26 var res ListVersionResponse 27 err = extract.Into(raw.Body, &res) 28 return &res, err 29 } 30 31 type ListVersionResponse struct { 32 Functions []function.FuncGraph `json:"versions"` 33 NextMarker int `json:"next_marker"` 34 Count int `json:"count"` 35 }