github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/openstack/fgs/v2/reserved/List.go (about) 1 package reserved 2 3 import ( 4 golangsdk "github.com/opentelekomcloud/gophertelekomcloud" 5 "github.com/opentelekomcloud/gophertelekomcloud/internal/extract" 6 ) 7 8 type ListOpts struct { 9 Marker string `q:"marker"` 10 Limit string `q:"limit"` 11 FuncUrn string `q:"urn"` 12 } 13 14 func ListReservedInst(client *golangsdk.ServiceClient, opts ListOpts) (*FuncReservedInstResp, error) { 15 url, err := golangsdk.NewURLBuilder().WithEndpoints("fgs", "functions", "reservedinstances").WithQueryParams(&opts).Build() 16 if err != nil { 17 return nil, err 18 } 19 20 raw, err := client.Get(client.ServiceURL(url.String()), nil, nil) 21 if err != nil { 22 return nil, err 23 } 24 25 var res FuncReservedInstResp 26 err = extract.Into(raw.Body, &res) 27 return &res, err 28 } 29 30 type FuncReservedInstResp struct { 31 ReservedInstances []FuncReservedResp `json:"reserved_instances"` 32 PageInfo *PageInfo `json:"page_info"` 33 Count int `json:"count"` 34 } 35 36 type FuncReservedResp struct { 37 FuncUrn string `json:"func_urn"` 38 Count int `json:"count"` 39 }