github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/openstack/fgs/v2/reserved/ListConfigs.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 ListConfigOpts struct { 9 Marker string `q:"marker"` 10 Limit string `q:"limit"` 11 FuncUrn string `q:"urn"` 12 } 13 14 func ListReservedInstConfigs(client *golangsdk.ServiceClient, opts ListConfigOpts) (*FuncReservedConfigResp, error) { 15 url, err := golangsdk.NewURLBuilder().WithEndpoints("fgs", "functions", "reservedinstanceconfigs").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 FuncReservedConfigResp 26 err = extract.Into(raw.Body, &res) 27 return &res, err 28 } 29 30 type FuncReservedConfigResp struct { 31 ReservedInstances []FuncReservedInstances `json:"reserved_instances"` 32 PageInfo *PageInfo `json:"page_info"` 33 Count int `json:"count"` 34 } 35 36 type FuncReservedInstances struct { 37 FuncUrn string `json:"func_urn"` 38 QualifierType string `json:"qualifier_type"` 39 QualifierName string `json:"qualifier_name"` 40 MinCount int `json:"min_count"` 41 IdleMode bool `json:"idle_mode"` 42 TacticsConfig TacticsConfig `json:"tactics_config"` 43 Count int `json:"count"` 44 } 45 46 type PageInfo struct { 47 NextMarker int `json:"next_marker"` 48 PreviousMarker int `json:"previous_marker"` 49 CurrentCount int `json:"current_count"` 50 }